位置: 编程技术 - 正文

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

  • 金税盘服务费全额抵扣
  • 分红给合伙企业后,被普通合伙人借走
  • 社会保障税的征收条件
  • 怎么理解财务会计与管理会计
  • 机动车销售统一专票可以抵扣进项税额吗
  • 现金折扣为什么计入主营业务收入
  • 损益类科目计入哪个表
  • 加油站汽油损耗多少
  • 退回其他单位服务费怎么入账?
  • 为员工买的人寿保险怎么做账
  • 一般纳税人贸易公司每个月最低费用多少
  • 发票离线限额什么意思
  • 一般纳税人注销库存需要补交税吗
  • 纳税人签字
  • 纳税申报有哪些规定
  • 境外取得收入
  • 增值税增量留抵退税政策解读
  • 苹果电脑使用u盘之前需要设置什么?
  • 账套没有以前年度调整
  • 现在还有票据法吗
  • 本年利润贷方为正数
  • 华为手机开热点后wlan自动关闭
  • 资产负债表存货包括哪些科目
  • 采用销售百分比法预测对外
  • PHP:stream_get_meta_data()的用法_Stream函数
  • 怎样识别?
  • 审计项目种类
  • vue环境搭建及配置简书
  • python自动控制
  • web应用技术是什么
  • 百旺开票软件状态查询在哪里
  • 未开票收入为负数是什么意思
  • 所有者权益合计等于什么
  • 公司出售房子怎么交税
  • python自学资料
  • 外包员工食堂怎么做账
  • 工程类什么情况下可以三方询价
  • 员工在其他公司担任股东,违法吗
  • 员工洗衣机使用制度
  • sqlsever日志在哪儿
  • mongodb中主键的默认格式是哪个?
  • 付员工经济补偿金的分录
  • 小规模纳税人免增值税的账务处理
  • 接受银行承兑汇票需要开通吗
  • 建筑公司是可以开在住宅小区吗
  • 固定资产净残值和净值的区别
  • 差旅费分摊到各部门
  • 企业年金个人和公司缴费比例
  • 混合销售举例说明
  • 月末结转后应交税费应交增值税一般无余额
  • 企业计提坏账准备形成可抵扣暂时性差异
  • 银行收到货款会计分录怎么做
  • 预付账款的账务处理过程
  • 购入固定资产预计净残值
  • 探望公司员工现金费用报销怎么写
  • 在保险中,保险利益的载体是
  • 工资扣水电费怎么做账
  • 房地产企业收入确认条件税法
  • 免缴教育费附加什么意思
  • 自制原始凭证的填制
  • sql server常用
  • mysql获取当前行数
  • windows录音机录音文件格式
  • ubuntu怎么禁用nouveau
  • 最简单最快乐
  • 比较常见的别墅户型
  • win8开始菜单在右边
  • 在linux操作系统中
  • linux必知必会
  • python与c
  • JavaScript中的NaN代表什么
  • Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
  • 安卓开发例子
  • javascript面向对象精要pdf下载
  • 国家税务局广东省电子税务总局手机版
  • 移动办税12366
  • 个人怎么在网上交医保和养老保险
  • 税收征管工作的基本目标
  • 地税局基层税务工作总结
  • 云开票怎么报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设