Android在活动变化上口吃

时间:2011-05-15 07:33:35

标签: java android

我有一个异步登录我的Web服务的android,但是当任务完成后,我切换到下一个活动,就会出现口吃。这很烦人,因为我的活动上有一个进度条(循环模式),它会暂停,重新启动,然后活动关闭。这看起来并不太好。

以下是代码:

//Create the new intent.    
Intent i = new Intent();
//Set the intent to open the pin entry screen
i.setClassName("com.visualdenim.passpad", "com.visualdenim.passpad.Pin");                           
Bundle bun = new Bundle();
//Set the data to go in the bundle
bun.putString("login_info", args[0]);
//Put the extras into the bundle
i.putExtras(bun);
//Start the credentials list activity
startActivity(i);
//Set the pretty animation
overridePendingTransition(R.anim.slide_in, R.anim.slide_out);
//Close this activity (so the user can't access the login screen once they are logged in)
finish();

我在想;所有这些都需要在UI线程上执行,是否有任何方法可以加速所有这些,或者我可以停止进度条旋转以避免它再次启动?

谢谢,我会勾选正确答案!

2 个答案:

答案 0 :(得分:3)

在Async Task中放置你正在做的任何事情,并将解除进度对话框放在该类的onPostExecute方法中。 当你尝试处理线程间通信或者在一个线程上有太多负载时(这就是你的UI线程),会出现这种断断续续的情况。使用Async Task,操作系统可以处理所有线程维护,从而获得最佳结果。

答案 1 :(得分:0)

我通过淡化进度条然后启动新活动来解决问题。这样,用户看不到进度条上的断断续续,因此转换显得平滑。