Android中跨越ACTIVITY的全局线程
2013-06-01 23:43
239 查看
做个广告先,
PHP群(6848027)
C++群 (1414577)
汇编&反汇编群(15375777)
转载请注明出处~3Q~
PHP群(6848027)
C++群 (1414577)
汇编&反汇编群(15375777)
转载请注明出处~3Q~
关键: Handle :类似C#的委托,C++中的函数指针 ,也可理解成CALLBACK 在做服务端消息循环查找时,如果一个ACTIVITY创建了一个线程。从这个ACTIVITY切换到另一个ACTIVITY时,上一个ACTIVITY会压入堆栈,那个线程会出现挂起状态,无法继续循环读取服务端数据,拿不到服务端数据了. 目前想到的方法是,创建一个专用的更新服务端消息类,然后每个页面实现一个Handle ,线程中发消息通知UI更新 先完成,再优化.. public class MyGetJobActiveThread { private static Context mContext = null; private Thread getJobMsgTheread = null; private static Handler mHandler = null; public void setContext(Context vContext) { this.mContext = vContext; } public void RegisterHandle(Handler hand) { this.mHandler = hand; } public void UnRegisterHandle(Handler hand) { this.mHandler = null; } public void StartGetJobMsgThread() { getJobMsgTheread = new Thread(mGetJobMsg); getJobMsgTheread.start(); } //检查服务端是否有消息 private Runnable mGetJobMsg = new Runnable() { @Override public void run() { try { while(true) { //....................................................... if (!contens.equals("2")) {//有消息 mHandler.sendEmptyMessage(MyConstants.JOBMSG01); }else { mHandler.sendEmptyMessage(MyConstants.JOBMSG02); } } }catch(Exception e){ Log.e("err", e.getMessage().toString()); } } };
相关文章推荐
- 在Android中不允许Activity里新启动线程访问该Activity里的组件
- Android根据全局变量对activity和fragment的刷新
- Android在子线程中更新Activity中UI的方法
- Android中Activity、Service和线程之间的通信
- Android之Activity ContentProvider Service Broadcast,线程间通信,AIDL(三)
- Android中Activity、Service和线程之间的通信
- Android Activity全局管理类
- Android 后台线程弹对话框导致程序崩溃(is not valid; is your activity running)
- Android不依赖activity的全局弹框
- Android中Activity、Service和线程之间的通信
- android中全局变量的表示 多个activity的数据共享
- android 全局activity跳转动画(自右向左)
- Android中Activity、Service和线程之间的通信
- android中Activity,Service和线程之间的通信
- Android使用技巧------Activity中怎么样在子线程和UI线程中来回自如
- Android 全局Activity动画设置
- Android中Activity、Service和线程之间的通信
- Android:Activity,线程,和内存泄漏
- Android菜鸟笔记-Service中弹出对话框,即全局性质Dialog不依赖于Activity
- Android 仿微信Activity左右切换 【全局配置Activity显示动画】