public class view extends View
{
public view(Context context)
{
super(context);
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(thing1, 200, 200, null);
run();
}
public void run()
{
try {
Thread.sleep(2000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
if(tester2){
thing1=BitmapFactory.decodeResource(getResources(), R.drawable.image2);
tester2=false;
invalidate();
}
else
{
thing1=BitmapFactory.decodeResource(getResources(), R.drawable.image1);
tester2=true;
invalidate();
}
}
}
这很好但我在日志中得到“应用程序可能做太多工作”的消息并跳过一堆帧。我该如何解决这个问题?
答案 0 :(得分:1)
确保您没有在主线程上运行run()
方法,因为这会暂停整个UI至少2000毫秒。在单独的Thread上运行该方法。