当前位置: 首页 > news >正文

黄冈贴吧网站优化多少钱

黄冈贴吧,网站优化多少钱,深圳企业网站建设服务哪家公司好,创建微信公众号步骤前言 主线程的Handler 主要依赖于 ActivityThread#xff0c;Android是消息驱动#xff0c;比如view的刷新#xff0c;activity的创建等#xff0c;如果能打印系统层Handler消息日志#xff0c;就需要对于系统层的Handler 进行Hook 原理 ActivityThread中 mH对象主要负责…前言 主线程的Handler 主要依赖于 ActivityThreadAndroid是消息驱动比如view的刷新activity的创建等如果能打印系统层Handler消息日志就需要对于系统层的Handler 进行Hook 原理 ActivityThread中 mH对象主要负责整个主线程的事件传递拿到mH传递的消息并打印出来就可以Handler的消息处理机制会先处理Message的Callback 再处理handlerMessage 核心代码 ActivityThread.java final H mH new H();class H extends Handler {public static final int BIND_APPLICATION 110;UnsupportedAppUsagepublic static final int EXIT_APPLICATION 111;UnsupportedAppUsagepublic static final int RECEIVER 113;...public static final int EXECUTE_TRANSACTION 159;} Handler.java public void dispatchMessage(NonNull Message msg) {if (msg.callback ! null) {handleCallback(msg);} else {if (mCallback ! null) {if (mCallback.handleMessage(msg)) {return;}}handleMessage(msg);}} 如果能给系统的Handler 设置上 callback 那每次系统消息传递 就可以先回调我们的callback  只要我们返回false 系统正常运行因为mH是静态的通过代码反射invoke的就是系统的 再反射获取 Handler的mCallback对象设置我们自己的Callback实现类即可 源码 private void hookSystemHandler() throws IllegalAccessException, NoSuchFieldException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException {Class? activityThreadClass Class.forName(android.app.ActivityThread);//获取静态ActivityThread对象Object currentActivityThread activityThreadClass.getDeclaredMethod(currentActivityThread).invoke(null);Field mHField activityThreadClass.getDeclaredField(mH);mHField.setAccessible(true);//获取mH对象 系统的Object mH mHField.get(currentActivityThread);Field mCallbackField Handler.class.getDeclaredField(mCallback);mCallbackField.setAccessible(true);//替换为我们的CallbackmCallbackField.set(mH,new MyHookHandler());}class MyHookHandler implements Handler.Callback {public MyHookHandler() {}Overridepublic boolean handleMessage(NonNull Message msg) {//我们的Handler 已经完成了替换//这里对所有系统消息进行拦截Log.d(tag-message,msg.toString());// 要保证系统运行正常 还得让原本handler 继续处理 // originalHandler.handleMessage(msg);return false; //不拦截}} 最终效果 D { when-1ms what159 objandroid.app.servertransaction.ClientTransaction196c92db targetandroid.app.ActivityThread$H }D { when-6ms what159 objandroid.app.servertransaction.ClientTransaction9bc76abb targetandroid.app.ActivityThread$H }D { when-20ms what159 objandroid.app.servertransaction.ClientTransaction18771a77 targetandroid.app.ActivityThread$H }
http://www.zqtcl.cn/news/985103/

相关文章:

  • 网站开发优势用php制作一个个人信息网站
  • wordpress百度推送代码兰州网站关键字优化
  • 有了域名怎么建设网站在线crm免费将夜2
  • 网站建设 技术方案模板长沙手机网站公司
  • 游戏网站建设免费版百度只更新快照不收录网站
  • html小清新类型网站网站建设中应注意哪些问题
  • 网站开发技术和seo的联系精品课程网站建设 公司
  • 大型网站建设一般多少钱wordpress 调用百度前端公众库
  • 个人电脑做网站服务器网站地方网站域名用全拼
  • 我们网站在那里登陆后台系统管理成都app制作开发
  • 可以做问卷调查的网站仙居网站建设
  • 知名网站建设公司电话做一个小程序需要多少钱
  • 外贸找客户有什么网站个人如何做网站
  • 旅游项目网站开发ui界面设计分析
  • 企业建设网站没有服务器代理网页浏览
  • 深圳网站建设新闻网站建设营销的企业
  • 建筑设计网站软件排名工具
  • wordpress theme珠宝最适合seo的网站源码
  • 建设工程规划许可证查询网站畜牧业网站模板
  • 做网站大概要多少钱页面网站缓存如何做
  • 家电网站建设需求分析朔州网络推广
  • 陕西交通建设集团网站体检网络营销中自建网站
  • 做游戏的php网站有哪些微信商城是什么
  • wordpress memcached redux深圳网站优化方法
  • 移动商城 网站建设方法方式韩国导航地图app
  • 企业网站源码是什么瑞安企业做网站
  • 佛山深圳建网站wordpress 段代码
  • 网站备案 强制仿牌网站容易被攻击吗
  • 网站做访问追踪js特效演示网站
  • 建设网站女装名字大全宝宝投票网站怎么做