位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享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(安卓手机加速方法)

  • 所得税结转本年利润
  • 个体工商户要做帐吗
  • 无合同销售收入怎么算
  • 应纳税所得额是利润总额吗
  • 广交会展务
  • 超过库存现金限额的现金要及时存入银行
  • 当月个税申报的是几月的工资表
  • 购销金额多少的情况下必须需要签合同?
  • 公司公积金缴纳比例一般来说是多少?
  • 未结转本年利润影响报表吗
  • 劳务费专票数量和单价要写吗
  • 所得税筹划的意义
  • 小企业费用包括哪些
  • 经营租赁的资产应计入哪里
  • 对账状态未对账
  • 股东放弃本企业股权
  • 返利失效了怎么找回
  • 公司注销清算时房租到期怎么办
  • 收到违约金需要缴纳所得税吗
  • 打井行业
  • 子公司给的股利用交税吗
  • 文化用品有哪些种类
  • 零税率发票如何抵扣
  • 筹建期间的开办费计入什么费用
  • 现金预算在企业财务管理中是何地位
  • 金税盘红字信息表金额大于原蓝票
  • win11更新22468
  • 如何加快身体的新陈代谢
  • php数组函数输出《咏雪》里有多少"片"字
  • php实现文件上传
  • 职工教育经费怎么做凭证
  • 苹果保护你的隐私
  • 广告公司物料报价清单
  • 个人承包建筑工程转让协议
  • uniapp微信小程序上传文件
  • 我国关税税则设有
  • 本季度企业所得税
  • 触屏不灵敏怎么调整oppo
  • 制造费用期末怎么结转
  • 中国税收居民是什么是中国公民嘛
  • php自动识别验证码
  • 销售自己使用过的固定资产
  • css3题目
  • 递延所得税资产和所得税费用的关系
  • 收到专票怎么入账
  • python3中rindex用法
  • 企业正常性停产什么意思
  • 差额增收企业怎么做账
  • 普通发票上的银行账户有规定吗
  • 月末研发支出会结转至哪个账户
  • 投资管理公司成立的请示范文
  • 积分兑换商品怎么查快递
  • 商贸企业增值税税负率低于1%则存在涉税问题
  • 增值税进项税额转出的情况有哪些
  • 小规模纳税人购进商品会计分录
  • 发工资用个人账户还是公司帐户
  • 建筑施工企业在12个月内第三次发生生产安全事故的
  • 缴纳城市维护建设税的纳税人有哪些
  • 开出地税发票(工程款)怎么做账?
  • 销售预付卡的账务处理
  • 完成认证后开具什么证明
  • sqlserver中通过osql/ocmd批处理批量执行sql文件的方法
  • mysql实时监控工具
  • win10默认edge浏览器
  • ubuntu 15.04系统怎么安装qq?
  • exe什么意思?
  • centos 做bond
  • 批处理删除空文件夹
  • cocos2dx 4.0
  • jQuery Checkbox 全选 反选的简单实例
  • jquery操作元素的方法
  • for语句中的++i
  • 安卓百分百
  • shell脚本clear
  • c++ 编程
  • listview提高效率
  • 高铁票抵扣进项能抵扣吗
  • 广西壮族自治区图书馆
  • 房屋维修税率是多少
  • 企业税务自查报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号