@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毫秒以内