Android Handler 原理-Handler

  • Adamin90
  • 2021-09-25 12:11:55
  • Android
Handler机制是安卓消息循环机制的基石,Handler是Handler机制的指挥者 Handler发送消息方式有两个版本,post和send,post版本发送一个runnable对象,send直接发送Message对象,post和send最终都调用了MessageQueue的enqueueMessage方法。 Handler处理消息的方法是dispatchMessge方法,优先处理msg.callback,其次是Handler的mCallback对象,最后才是handleMessage方法。 Handler移除消息的方法最终都是调用MessageQueue的移除方法。 HandlerThread继承自Thread,简化了在子线程创建Handler的过程,run方法自动调用Looper.prepare和Looper.loop。
阅读全文

Android Handler 原理-Looper

  • Adamin90
  • 2021-09-21 13:08:26
  • Android
Looper主要通过loop方法从MessageQueue中循环获取消息,然后交给Handler处理。 在线程中要先使用Looper.prepare方法创建Looper,再调用Looper.loop方法获取和处理消息。 Android主线程的Looper实在ActivitiyThread的main方法中通过Looper.prepareMainLooper初始化的。
阅读全文

Android Handler原理-MessageQueue

  • Adamin90
  • 2021-09-19 21:59:28
  • Android
MessageQueue负责消息的入队(enQueueMessage)和出队(next),通过Handler间接操作入队,Looper.loop调用next方法循环出队,MessageQueue的初始化在Looper的prepare或prepareMainLooper方法中,mainLooper定义消息队列不可退出。MessageQueue内大部分操作是native层操作,基于epoll机制。同步屏障可以使异步消息优先执行。 MessageQueue内的IdleHandler可以注册为闲时执行,闲的意思使消息队列无消息,或者消息未达到执行时间。
阅读全文

Anroid Handler原理-Message

  • Adamin90
  • 2021-09-16 14:31:02
  • Android
Message是安卓消息传递机制信息的载体,他内部维护了一个链表,指向下一个,维护了一个缓存队列,最多缓存50个对象,避免重复创建对象,Message回收使用了享元模式的设计模式,Message回收会把flags标识成FLAG_IN_USE,消息入队也会标识成IN_USE,获取Message对象一般使用Message.obtain()方法,内部会清空flags标识。 Message默认是同步消息,遵循Looper的同步消息屏障,我们可以通过setAsynchronous方法把消息设置成异步,突破消息屏障,让它优先执行。
阅读全文

flutter2接入高德地图定位,工具类封装,打包安卓apk,自定义签名

flutter 高德定位接入过程和工具类封装
阅读全文

Android获取当前前台包名/进程的方法

  • Adamin90
  • 2020-04-23 16:37:09
  • Android
获取当前前台进程的方法有很多,不过有的方法在高版本安卓可能不好使,通常5.0之前的设备可以用ActivityManager的getRunningTasks方法,5.0使用ActivityManager的getRunningAppprocesses方法,5.1及之后版本可以用UsageStatsManager的queryEvents方法封装成一个方法如下:String (Context&n
阅读全文

Android使用系统签名签名apk

  • Adamin90
  • 2020-04-13 11:17:27
  • Android
platform.x509.pem和platform.pk8转换成keytore文件
阅读全文

Frida hook 微信掷骰子

Android 微信7.0.7 掷骰子破解
阅读全文

Frida获取类下的所有方法和属性

Android下 Frida获取类下所有的方法和属性值
阅读全文

adb 导出安装包

  • Adamin90
  • 2019-09-24 11:58:18
  • Android
android adb shell的使用,adb shell package manager 导出已安装app过程
阅读全文
首页 12 末页 共 14 条记录
  • Powered by bjyblog modified by Adam © 2014-2021 www.lixiaopeng.com 版权所有 ICP证:鲁ICP备15039297号
  • 联系邮箱:14846869@qq.com