0

我有一个显示逐帧动画活动的 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();           
    }

}

当我运行应用程序时,我可以看到动画,然后服务启动。当我再次按下应用程序的图标时,出现黑屏并且应用程序崩溃。

有什么想法可能是什么问题?

谢谢,铅

4

1 回答 1

0

经过一番调查,原来是服务出了问题。我Thread.sleep()在几个地方有一些导致 UI 线程崩溃。在为这些操作添加另一个线程后,问题解决了。

于 2012-11-08T08:01:22.767 回答