安卓ui线程优先级
2015-06-29 10:53
459 查看
最近在做静默安装发现在做下载按钮状态安装的时候 例如一个TextView文字的修改,起初代码格式为如下所示
发现在安装中会出现按钮状态还没有改变的时候 apk安装环节就已经执行,所以因此推测在底层ui刷新和其他操作并不是线性执行,虚拟机先执行安装操作后才执行按钮刷新操作,所以做了以下修改。
在延时主线程安装操作100毫秒以后 按钮状态改变后才执行安装操作 达成所期望效果。
btnDown.setTag(TAG_INSTALLING); updateDownloadBtnState(btnDown, game, DownloadState.Finished);//更新按钮状态 此方法包含按钮文字和颜色 ModMgr.getGameDownloadMgr().installApk(context, game);//安装apk game.mIsInstalling = false;
发现在安装中会出现按钮状态还没有改变的时候 apk安装环节就已经执行,所以因此推测在底层ui刷新和其他操作并不是线性执行,虚拟机先执行安装操作后才执行按钮刷新操作,所以做了以下修改。
btnDown.setTag(TAG_INSTALLING); updateDownloadBtnState(btnDown, game, DownloadState.Finished); MessageManager.getInstance().asyncRun(100, new Runner() { @Override public void call() { ModMgr.getGameDownloadMgr().installApk(context, game); game.mIsInstalling = false; } });//此方法作用为在主线程延时100秒后执行 其中调用了handler.postDelayed实现
在延时主线程安装操作100毫秒以后 按钮状态改变后才执行安装操作 达成所期望效果。
相关文章推荐
- Android后台线程和UI线程通讯实例
- Android中子线程和UI线程通信详解
- calledfromwrongthreadexception only the original that created a view hierarchy can touch its views
- 在UI线程的oncreate方法中,操作软键盘无效
- UI线程和异步任务AsyncTask
- 关于UI线程与非UI线程交互,有关Handler机制等(一)
- 关于androidUI线程更新与Handler
- AsyncTask 异步查询 通讯录
- android 单线程模型理解
- Android之NetworkOnMainThreadException异常
- Android之NetworkOnMainThreadException异常
- Android之NetworkOnMainThreadException异常
- Android之NetworkOnMainThreadException异常
- Android之NetworkOnMainThreadException异常
- Android之NetworkOnMainThreadException异常
- Android之NetworkOnMainThreadException异常
- Android之NetworkOnMainThreadException异常
- Android之NetworkOnMainThreadException异常
- Android - UI线程和异步(AsyncTask)线程
- android:Background线程池和UiThread线程池