自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 中级Android开发应该了解的Binder原理

一.前言 Linux的进程空间是相互隔离的。 Linux将内存空间在逻辑上划分为内核空间与用户空间。Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,为了保证内核安全,它们是隔离的。内核空间可以访问所有内存空间,而用户空间不能访问内核空间。 用户程序只能通过系统调用陷入内核态,从而访问内核空间。系统调用主要通过 copy_to_user() 和 copy_from_user()...

2019-03-14 15:52:35 267

原创 性能优化之Traceview和Systrace的使用

Traceview的两种使用方式: 1.打开Android Device Monitor,选择一个进程,然后按上面的“Start Method Profiling”按钮,等红色小点变成黑色以后就表示TraceView已经开始工作了,再次点击该按钮结束追踪,并会自动打开这段时间内生成的 .trace 文件。 2.在代码中使用Debug.startMethodTracing()和Debug.stop...

2019-03-01 17:58:04 1154

原创 JVM简笔

JVM运行时数据区域的划分如下图: 程序计数器(PC寄存器)是唯一没有规定OOM的数据区域。 运行时常量池位于方法区。 类的生命周期: * 加载:查找并加载Class文件。 * 链接: 1.验证:确保被导入类型的正确性。 2.准备:为类的静态字段分配字段,并用默认值初始化这些字段。 3.解析:虚拟机将常量池内的符号引用替换为直接引用。 * 初始化:将类变量初始化为正确的初始值。 * ...

2019-03-20 22:27:54 300

原创 ProGuard流程图

Proguard主要有混淆、裁剪、优化三大功能,它的整个流程是:

2019-03-17 21:04:29 391

原创 APK包体积优化

APK包的主要结构如下图,对于大部分项目中文件实际占用空间大小排序正如图中从上到下。 代码 开启Proguard,一方面可以降低代码被反编译后的可读性,另一方面也可以减小包体积。 删除debug信息,参考支付宝方案:支付宝 App 构建优化解析:Android 包大小极致压缩 Dex: dex分包优化,跨dex调用会导致method id等信息需要同时存在于调用与被调用的dex文件中,这就...

2019-03-17 14:55:50 687

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除