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();
}
}
}
这工作正常,但我在日志中收到“应用程序可能做太多工作”的消息,并跳过了一堆帧。我该如何解决?
最佳答案
确保没有在主线程上运行run()
方法,因为这会使整个UI暂停至少2000毫秒。在单独的线程上运行该方法。
关于android - 跳过#个帧…该应用程序可能在其主线程上执行过多工作。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37178492/