位置: 编程技术 - 正文

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(安卓手机加速方法)

  • 季度企业所得税申报表怎么填写
  • 企业所得税发票税前扣除异常
  • 补交以前年度的所得税
  • 13%税开成了3%怎么报税
  • 小规模纳税人每季度报税清盘
  • 生产车间领用的低值易耗品
  • 电子发票手动导出的发票在哪里
  • 房地产企业如何预缴土地增值税
  • 购买基金会计分录怎么填
  • 贩卖增值税发票怎么判刑
  • 外购产品对外捐赠的会计处理
  • 外商投资企业清算审计报告
  • 技术开发免税收益方
  • 进货发票未到怎么做账
  • 取得增值税专用发票是否可以抵扣
  • 注销公司房产税从哪年从哪年开始交
  • 评估入账的开发权是否可以税前扣除?
  • 营改增后还要交企业所得税吗
  • 出售固定资产要交哪些税
  • 重庆房产税政策历史
  • 药品底价高开票什么意思
  • 存款利息天数算头不算尾如何计算
  • 企业自用房产出售怎么交税
  • 委托出口货物怎么办理退免税?
  • 房地产企业预收房款开票
  • 股东与公司之间是什么关系
  • 企业员工差旅平台排行
  • 固定资产残值率计算公式
  • 少数股东权益怎么填
  • 已经抵扣增值税专用发票对方要换票怎么办
  • 企业间借款的增值税计算
  • 先征后返的会计分录
  • 工业企业生产成本核算表
  • kb4586853更新
  • 解读一篇文章
  • 稿酬所得的个税怎么计算
  • php格式图片
  • phpmvc框架工作原理
  • 贷款的银行卡叫什么
  • php日期差
  • 其他应付款的辅助核算项目是什么
  • 民办非盈利组织税收政策
  • 浏览器分析
  • RocketMQ-02
  • jsoup js
  • 发票金额和打款金额不一致怎么办
  • 出口视同内销怎么申报
  • 工会经费的会计分录2022
  • mysql数据库三种复制类型
  • FreeBSD安装xfce4: 鼠标不能用
  • 以非现金资产抵偿债务
  • 有差价的商品发票怎么开
  • 营利性养老机构有补贴吗
  • 怎么才能回到一年前
  • 小企业汇算清缴补税会计分录
  • 租的办公室装修费怎么处理
  • 进口增值税与关税发票哪里打印?
  • 企业向个人借款利息如何缴纳增值税
  • 以前年度多计提的社保费怎么冲回
  • 小企业的建账流程
  • centos init
  • mac系统简介
  • linux sort命令参数及用法详解
  • win8都有哪些版本
  • window10 360
  • win7的系统设置
  • 没有触屏如何使手机充电
  • ubuntu 编译ffmpeg
  • Cocos2d-x +Android + Windows 7
  • javascript零基础学要学多久
  • python常见算法
  • js函数function用法
  • shell函数参数
  • 安卓开发常见问题解决
  • scp 将数据从一台linux服务器复制到另一台linux服务器
  • js对象类型的语法规则
  • 研发费用加计扣除2022政策
  • 个体户定额怎么查询
  • 房屋设备租赁费
  • 西安代驾平台有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设