自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 App的启动过程

App的启动过程 简单解释一下App的启动过程: 1.点击Launcher,启动程序,通知ActivityManagerService 2.ActivityManagerService通知zygote进程孵化出应用进程,分配内存空间等 3.执行该应用ActivityThre...

2018-01-31 14:42:28

阅读数 165

评论数 0

原创 AndroidApp启动时间查询

1.启动时间统计 从点击应用的启动图标开始创建出一个新的进程直到我们看到了界面的第一帧,这段时间就是应用的启动时间。 我们要测量的也就是这段时间,测量这段时间可以通过adb shell命令的方式进行测量,这种方法测量的最为精确,命令为: 1.1 利用adb查看启动时间 adb shel...

2018-01-31 14:38:32

阅读数 1516

评论数 0

原创 SparseArray介绍

结构方面: 它内部则是通过两个数组来进行数据存储的,一个存储key,另外一个存储value,为了优化性能,它内部对数据还采取了压缩的方式来表示稀疏数组的数据 只是觉得SparseArray比HashMap更省内存, 至于存储效率, 只能说在特定情况下才能比hash快(很有限, 比如顺序插入...

2018-01-31 11:12:34

阅读数 68

评论数 0

转载 hashmap的原理

转自: 简单介绍: (1)由一个数组+若干个链表组成 (2)put 计算hash值 对key的hashcode进一步计算,确保散列均匀,得到2次hash值 根据2次hash值和数组长度计算出真正的存储位置 存储,新增一个entry, 把这个entry放到数组中...

2018-01-30 17:26:14

阅读数 87

评论数 0

转载 关于android字节码插桩

转自:https://www.jianshu.com/p/c202853059b4 基于字节码插桩可以实现面向切面的编程, 实际是在字节码中插入要执行的相关程序. 通过非侵入的方式实现切面编程. (1)AOP和OOP 如果说oop模块化编程, 是把功能封装到一个模块中, 那么aop就是把众多...

2018-01-30 11:39:57

阅读数 677

评论数 0

原创 关于small插件化版本的使用

终于可以编译通过, 明天上过程和坑. 1. 依赖于gradle的版本, 我用的是com.android.tools.build:gradle:2.1.3 2. 从jcenter下载失败, 使用jcenter(){url 'http://jcenter.bintray.com/...

2018-01-04 23:25:37

阅读数 132

评论数 0

原创 集成CEF的坑和解决办法

1.把CEF封装成一个dll. 在调用程序退出的时候, 调用CefShutdown就崩溃? 解决办法: 把cef相关的库, 换成release版本试试.   2.调用dll时, 程序崩溃提示livcef.dll模块加载失败? 看看资源文件是不是粘贴过来了. 3.cef启动后一直白屏 解决...

2018-01-03 16:44:15

阅读数 3245

评论数 0

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