一些综合技术简述

捕获异常

1.     实现一个UncaughtExceptionHandler对象

2.     在它的uncaughtException方法中获取异常消息

3.     将消息储存在SD卡中或者上传服务器

4.     调用Thread的setDefaultUncaughtExceptionHandler方法,将这个UncaughtExceptionHandler对象设置为默认的异常处理器

 

也就是说,当程序发生crash时,系统线程会调用默认的异常处理器,我们只要继承并扩展异常处理器,然后将这个新的处理器赋予给系统线程就可以了

*手机的设备信息储存在Build里

 

Multidex

dex文件是安卓里的可执行文件,它所能包含的方法数最大为65536,当超出这个数目时,必须采用一些方法才能正常编译

使用multidex的过程:

1.     在build.gradle文件里的defaultConfig里,添加multiDexEnabled true配置项

2.     在dependencies中添加multidex的依赖

3.     在manifest文件中指定为MultiDexApplication/让Application继承自MultiDexApplication/重写Application的attachBaseContext方法,在里面加载MultiDex:MultiDex.install(this)

也就是说,想让程序能够解决方法数越界的问题,只要在项目里引进MultiDex,然后配置一下程序就行了

Multidex的缺陷:应用的启动速度降低;有版本兼容问题

 

动态加载技术相关的几个术语概念

热插播:在不发布新版本的情况下更新某些模块

宿主:普通的apk

插件:经过处理的dex或者apk

代理Activity:用来启动插件Activity

动态加载技术的3个问题

1.对插件R资源的访问

2.插件Activity的生命周期管理

3.插件ClassLoader的管理

 

反编译

使用dex2jar和jd-gui:

将apk通过zip包的方式解压,提取出dex文件,Dex2jar将一个dex文件转化为jar包,jd-gui将jar包转化为java代码

过程:apk->zip解压->dex->dex2jar工具->jar包->jd-gui->java代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值