找茬小王子 2023-11-07 16:27 采纳率: 50%
浏览 12
已结题

报错 java.lang.RuntimeException: Canvas: trying to draw too large(132710400bytes) bitmap.


   @Override
    protected void onResume() {
        super.onResume();
        img = (ImageView) findViewById(R.id.img);

        Bitmap img1 = BitmapFactory.decodeResource(getResources(), R.drawable.img001);
        Bitmap img2 = BitmapFactory.decodeResource(getResources(), R.drawable.img002);
        Bitmap img3 = BitmapFactory.decodeResource(getResources(), R.drawable.img003);
        Bitmap img4 = BitmapFactory.decodeResource(getResources(), R.drawable.img004);
        Bitmap img5 = BitmapFactory.decodeResource(getResources(), R.drawable.img005);
        Bitmap img6 = BitmapFactory.decodeResource(getResources(), R.drawable.img006);
        Bitmap img7 = BitmapFactory.decodeResource(getResources(), R.drawable.img007);
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(3000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                Log.d("切换时间", String.valueOf(System.currentTimeMillis()));
                img.setImageBitmap(img1);
                Log.d("切换时间", String.valueOf(System.currentTimeMillis()));
                img.setImageBitmap(img2);
                Log.d("切换时间", String.valueOf(System.currentTimeMillis()));
                img.setImageBitmap(img3);
                Log.d("切换时间", String.valueOf(System.currentTimeMillis()));
                img.setImageBitmap(img4);
                Log.d("切换时间", String.valueOf(System.currentTimeMillis()));
                img.setImageBitmap(img5);
                Log.d("切换时间", String.valueOf(System.currentTimeMillis()));
                img.setImageBitmap(img6);
                Log.d("切换时间", String.valueOf(System.currentTimeMillis()));
                img.setImageBitmap(img7);
                Log.d("切换时间", String.valueOf(System.currentTimeMillis()));
            }
        }).start();
    }

上面的代码切换图片,切换的时间只有1毫秒,但是报了这个错误
java.lang.RuntimeException: Canvas: trying to draw too large(132710400bytes) bitmap.

直接使用

 img.setImageResource(R.drawable.img007)

方法切换图片的话切换的速度又太慢,请教有什么方法可以解决我现在的问题,保证图片切换的速度再40毫秒以内

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-07 18:16
    关注

    【相关推荐】




    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月5日
  • 创建了问题 11月7日

悬赏问题

  • ¥15 Python中knn问题
  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了