位置: 编程技术 - 正文

Android 里面的多线程操作备忘,关于Thread,Handler, Looper(android多个dex)

编辑:rootadmin

推荐整理分享Android 里面的多线程操作备忘,关于Thread,Handler, Looper(android多个dex),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android应用多开怎么实现的,android应用多开怎么实现的,android多个activity,android多个activity,android多个dex,android几,duo android,android多个dex,内容如对您有帮助,希望把文章链接给更多的朋友!

一个优秀的Apps必然需要将耗时的操作如数据库操作/网络操作等放在其他线程(非UI),然后将结果发送至MainUI创建的Handler里面在UI显示结果(若需要的话).

而android的线程操作,除非需要非常及时,否则推荐使用HandlerThread而非Thread , HandlerThread与Handler联合使用,可能将Runnable队列化,亦就是说handler前一个post在runnable没运行完毕,后面的runnable一直在等待.

下面贴出一个例子,关于网络操作的,参数中可以选择onDone是否依然运行于子线程还是运行在MainUI,

onDoneRunInThread 参数决定handler hd的性质, onDoneRunInThread =true时,onDone后续例程则依然运行在mRunThread子线程中, 若为false则会在MainUI线程中运行, 因为new Handler()默认用的是MainUI 线程的looper.

================

另,需要一个线程安全的队列,我们需要用到ConcurrentLinkedQueue,它常用的方法有:

peek()- 从顶部取得数据,但不移除此记录,若队列为空则返回null

poll() - 同peek(),但差别是会同时移除此记录(队列记录数-1)

Android 里面的多线程操作备忘,关于Thread,Handler, Looper(android多个dex)

offer() - 在尾部添加数据,若超过容易会返回false

add() - 同offer()

===========================

关于Handler与Thread的关系,

Handler的创建可能还looper参数亦可能不带,若不还looper参数,则此handler为MainUI在looper服务,亦就是说它post的runnable或sendmessage都是在MainUI线程下运行的,

若比较耗时的操作,则应该避免用这种.

若带looper,则需要带对应thread的looper,比如上述例子中的:final Handler hd=onDoneRunInThread ? new Handler(mRunThread.getLooper()):new Handler();

先创建子线程mRunThread,然后mRunThread.start()后,再创建依赖于它的handler hd.给hd指定mRunThread的looper,则hd无论post runnable或sendmessage都在mRunThread线程中运行.

而为了直观,建议用post runnable代替sendmessage.

(转)Android高效加载大图、多图解决方案,有效避免程序OOM 现在很多有应用都是以图片为主流,所以肯定会加载大量的图片,可是现在的图片的内存都很大,一旦超过内存就会显示OOM(内存溢出)错误。在网上

android数据存储读取6:contentProvider的使用(提供自己应用的数据) contentprovider可以提供应用的数据供其它的应用使用。同时也可以利用它访问其它的应用。比如访问手机短信、手机Music、联系人等等。优点在于提供了公

音频资料 这是我在网上看到的关于各种音频式最全的一个帖子,特地转载过来,供大家参考。在些对收集者和各位作者表示真诚的感谢。1、WAV文件:采样率(Samp

标签: android多个dex

本文链接地址:https://www.jiuchutong.com/biancheng/387416.html 转载请保留说明!

上一篇:Android Java 程序员必备开发工具(android java编程)

下一篇:(转)Android高效加载大图、多图解决方案,有效避免程序OOM(安卓手机加速方法)

  • 小型微利企业所得税怎么计算
  • 外国企业无偿援助的进口设备
  • 纳税申报操作视频
  • 建筑公司包工包料账务处理
  • 计提印花税会计分录最新
  • 印花税购销合同减半征收政策
  • 出库入库结存表
  • 主营业务收入为什么记贷方
  • 印花税减免退税会计分录
  • 可以自己制作的商品
  • 机票行程单能报销几次
  • 财务合理化建议例子
  • 汽车4s店索赔和维修
  • 应扣未扣税款向谁追缴
  • 商场销售化妆品应当缴纳增值税和消费税对吗
  • 行政相对人和行政管理相对人的区别
  • 发票抄报逾期如何处罚
  • 房屋租赁合同样本书
  • 无票收入记账多的进项发票怎么处理?
  • 小微企业季度缴税一百万退税吗
  • 营改增后固定资产进项税抵扣规定
  • 查账征收的成本费用
  • 申报表作废后怎么显示的是已申报,不能重新申报
  • 股东净利润是什么
  • 低值易耗品与固定资产有相同的特征,表现在哪里?
  • 民营医院实收资本科目
  • 苹果Mac系统怎么用光盘安装
  • 补交上一年度的所得税怎么做账
  • 苹果电脑删除win系统文件
  • 银行承兑汇票背书会计分录
  • 季报根据什么申报
  • 出租的设备
  • 会计如果做假账
  • 宽带调制解调器出现问题怎么解决
  • 微信支付被限制是怎么回事
  • element-plus vue
  • phpstudy8
  • php购物车订单处理
  • 无偿占用资金企业有哪些
  • 编制资产负债表的基础
  • js实现功能
  • php实现会话的步骤
  • 代理业务怎么记账
  • 租赁增值税发票税率
  • 社保主要有以下哪些方面
  • 消防工程材料费用占比
  • 预交的企业所得税如何记账
  • 租用办公室装修费用会计分录
  • pycharm cant find main
  • 织梦前台的菜单怎么换
  • 资本性支出与资本性支出(基本建设)的区别
  • 企业所得税上个季度没报
  • 房地产开发企业成本核算方法
  • 税务登记是需要原件还是复印件
  • 其他应收款如何计提减值准备
  • 业务招待费专票可以抵扣吗
  • 租赁中承租人的会计分录
  • 产品加工总是会出现问题的,100%合格是不可能的
  • 营业外收入的核算内容
  • 2020年扶贫拨款
  • 工会经费是不是税费
  • 资产负债表税务局能看到吗
  • 政府征税再进行补贴对消费者福利的影响
  • 百分百控股的企业
  • 资产报废需要税费吗
  • 合并编制报表主要有哪几种
  • sql语句优化总结
  • 自动清理河道垃圾船
  • csinject.exe是什么程序的进程 csinject进程是安全的吗
  • linux中的mv命令是什么意思
  • recyclerview addview
  • 3d动态锁屏壁纸下载
  • shell脚本实现自动化巡检报警发送邮箱
  • jquery?
  • Apache服务器的安全缺陷
  • 发票查询为什么查不出来
  • 怎么查询企业类别
  • 企业所得税账务如何处理
  • 山西土地增值税清算
  • 小规模纳税人租赁费税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设