位置: 编程技术 - 正文

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

  • 财税新闻稿
  • 偷税行为五年后被发现要接受行政处罚吗?
  • 本年利润期末有无余额
  • 公司福利可以抵扣所得税吗
  • 现金流量表存货增加是负的
  • 小规模纳税人印花税怎样计算
  • 企业最常用的业务分录
  • 双倍余额递减法如何计算
  • 企业增加注册资本流程
  • 发票报销的条件是什么?
  • 固定资产可以一次抵扣吗
  • 建筑预缴税款后如何进行账务处理?
  • 政府补贴转给其他公司
  • 购买税控盘的钱能全额抵扣增值税吗
  • 文化建设事业费按季度申报吗
  • 不得抵扣且未抵扣什么意思
  • 银行手续费做账漏掉
  • 来料加工的生产企业
  • 四级主任科员是什么级别待遇
  • 一般纳税人有进项无销项
  • 投资性房地产企业有哪些
  • 印花税的征收项目
  • win11打开设置
  • windos11安卓
  • 应收账款周转率高说明
  • 运输费计入什么会计分录
  • 小规模纳税人可以开增值税专用发票吗
  • 劳务公司开发票,劳务公司怎么转取收入
  • windows11 缩放
  • php unit
  • 总公司人员的工资子公司可以发吗
  • 存货报废会计分录例题
  • 预算周转金会计怎么做账
  • yolov5训练参数说明
  • 银行票据贴现业务发展中遇到的困难
  • 计提资产减值准备是利好还是利空
  • 担保损失怎么处理好
  • /etc/php-fpm.d/www.conf 配置注意事项
  • opencv教程
  • 代发工资一般收多少服务费
  • 管理费用包括哪些部门的工资
  • 收到银行的贷款怎么入账
  • 经费支出的定义
  • 企税申报表怎么填
  • 小企业的准备阶段是创办企业吗
  • 有什么学电脑的网站
  • 小规模没有税控怎么开普票
  • 会计人员信息采集工作证明模板
  • sqlserver 中charindex/patindex/like 的比较
  • mongodb修改数据库名称
  • 矿泉水发票能否抵税
  • 营业执照注销对商标有影响吗?
  • 发票已开款未到的会计分录?
  • 税收返还会计处理方法
  • 销售退回如何做账务处理
  • 研发支出 期末
  • 应交税金包括哪些税费
  • 涉外收入申报单怎么填
  • 一次性收取的房租如何做账
  • 企业如果为员工缴纳社保
  • 买材料含税价怎么算
  • centos rpm命令
  • 查看mysql执行计划关键字
  • ubuntu怎么切换桌面
  • 系统死锁或资源管理器崩溃时让xp系统自动重启的方法
  • drivemgr.exe 病毒介绍
  • linux acl设置
  • linux如何远程桌面
  • Win7旗舰版系统镜像文件
  • win8找不到恢复环境怎么恢复出厂设置
  • jquery技巧
  • Android---61---TabHost简单使用
  • 文件夹如何取名字
  • javascript面向对象编程指南
  • js内存条
  • angularjs常用总结
  • unity游戏加密
  • jqueryui
  • 江苏税务社保缴纳查询缴费记录
  • 陕西省国税务局大企业处长邓谷祥简历
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设