读书人

在响应菜单点击的时分程序要卡死一段时

发布时间: 2012-08-27 21:21:57 作者: rapoo

在响应菜单点击的时候程序要卡死一段时间,怎样解决呢?

Java code
public boolean onOptionsItemSelected(MenuItem item)     {        this.Invalidate();         switch (item.getItemId())         {         case R.id.menu_local:                         LocalAndGetInfo();             break;    


例如在用户点击菜单定位后调用LocalAndGetInfo();这个时候程序会暂时卡死,怎样解决呢?

[解决办法]
LocalAndGetInfo();这个是做什么的呢?

如果确定是这个卡,就只能弄个新线程让它运行,否则别的就只能等它执行完了再响应。
[解决办法]
你是点击menu执行器其余的操作,可以用handler post一个message,然后用thread也好,AsyncTask也好,自己选择了
[解决办法]
非UI线程中,不能进行UI操作,你要把UI操作,和非UI操作分开.
[解决办法]
探讨

引用:

LocalAndGetInfo();这个是做什么的呢?

如果确定是这个卡,就只能弄个新线程让它运行,否则别的就只能等它执行完了再响应。

里面除了定位还有访问服务器的操作。
做线程我有点不会,就是线程里面调用LocalAndGetInfo();这个函数会出错。LocalAndGetInfo些界面资源如:
LocalAndGetInfo()
{
.……

[解决办法]
放到新线程里,就不会导致UI卡主
[解决办法]
更新UI界面要在UI线程里面操作。耗时的操作放线程里面操作!

读书人网 >Android

热点推荐