我有一个Android应用程序,显示逐帧动画活动。在动画结束时,它启动后台服务并关闭活动。这是代码:
cont = getApplicationContext();
final ImageView img = (ImageView)findViewById(R.id.img);
img.setBackgroundResource(R.drawable.intro);
img.post(new Runnable() {
public void run() {
animation = (AnimationDrawable)img.getBackground();
animation.setOneShot(true);
animation.start();
timer = new Timer();
timer.schedule(new timer_exp(), 3400);
}
});
}
class timer_exp extends TimerTask{
@Override
public void run() {
//start service
Intent serviceIntent = new Intent(cont, MainService.class);
startService(serviceIntent);
//kill activity
finish();
}
}
当我运行应用程序时,我可以看到动画,然后服务启动。当我再次按下应用程序的图标时,我出现黑屏,应用程序崩溃。
任何想法可能是什么问题?
谢谢, PB
答案 0 :(得分:0)
经过一番调查后发现服务就是问题所在。
我在几个地方有一些Thread.sleep()
导致UI线程崩溃。
为这些操作添加另一个线程后,问题就解决了。