- 博客(10)
- 收藏
- 关注
原创 GreedyPorter(GPT)技术简介和研发指导
一.GreedyPorter(GPT)插件系统简介- GPT插件系统是借鉴OSGI,AOP等技术实现的一个Android平台重量级插件系统。- 目前已接入的百度产品包括:百度手机助手,百度网盘,百度卫士,度秘,拾相,91助手,安卓市场等。- 目前仅百度手机助手已成功接入过的插件数目50+。- GitHub开源代码地址:https://github.co...
2018-02-05 21:56:06 1260 1
转载 Android的64位和32位运行分析
关于Android L 64位系统兼容32位应用的实现的简单分析。Android L 的zygote进程的实现不同于之前的版本,除了有zygote进程之外还有zygote64进程。 在init.zygote32_64.rc中有明确指出:service zygote /system/bin/app_process32 -Xzygote /system/bin --zygote --start-sys...
2018-02-05 21:53:09 4418
原创 使用ASM对生命周期打点
##介绍ASMASM是一款基于java字节码层面的代码分析和修改工具。无需提供源代码即可对应用嵌入所需debug代码,用于应用API性能分析。ASM可以直接产生二进制class文件,也可以在类被加入JVM之前动态修改类行为。##ASM库结构![Paste_Image.png](http://upload-images.jianshu.io/upload_images/5251070-3...
2019-03-25 21:41:16 537
原创 JDK中的Proxy动态代理原理剖析
主要API类是:```Proxy.newProxyInstancepublic static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, ...
2019-03-25 21:34:07 255
原创 AOP总结
## AOP简介###1.1 什么是AOPAOP,Aspect Oriented Programming 面向切面编程OOP,Object-oriented programming面向对象编程AOP和OOP是不同的编程思想。OOP强调的是高内聚,低耦合,封装。提倡的是将功能模块化,对象化。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一...
2019-03-25 21:32:52 253
原创 Annotation Processor
android-apt 与 AnnotationProcessorAPT(Annotation Processing Tool)是一种处理注释的工具,它对源代码文件进行检测找出其中的Annotation,使用Annotation进行额外的处理。(额外的处理包括,修改源文件,增加新代码,甚至添加新的Annotation)android-apt是一个gradle插件,始于三年前 ByHugo*...
2019-03-25 21:31:05 921
原创 Android的两种数据存储方式分析(二)
二、SQLiteDatabase做移动应用的人,应该没有人不知道SQLite的吧,但SQLite与其它的关系型数据库有多大区别?Android是怎么使用和操作SQLite的?SQLite的性能怎么样?平时困扰我们的各种数据库异常都是怎么会事儿?有没有什么解决办法?带着这些问题,我们来深入学习一下Android中的SQLite吧!1、SQLite的优势,Android为什么要选择SQLite...
2019-03-25 21:30:05 258
原创 Android的两种数据存储方式分析(一)
Android上常见的数据存储方式有哪些呢?SharedPreferences这种存储数据的方式我们平时用的都对吗?怎么使用SQLiteDatabase才是安全的?带着这些问题,我们今天来深入分析一下SharedPreferences和database这两种Android上常见的数据持久化方式。一、SharedPreferences1、Preference和sharedPref...
2019-03-25 21:29:42 404
原创 Android内存管理及内存泄漏分析(二)
4、常见内存泄漏这是一个老生常谈的一个问题了,但我还是先对Java中的内存泄漏做一个定义:Java中的内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点,首先,这些对象是可达的,即在有向图中,存在通路可以与其相连;其次,这些对象是无用的,即程序以后不会再使用这些对象。如果对象满足这两个条件,这些对象就可以判定为Java中的内存泄漏,这些对象不会被GC所回收,然而它却占用内存。在C...
2019-03-25 21:29:01 269
原创 Android内存管理及内存泄漏分析(一)
1、堆和栈要了解Android的内存,必须先从Java的堆和栈看起,我们先看看《Think In Java》中对它们的定义:(1)堆栈(stack):位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时候,JAVA编译器必须知道存储在堆栈内所有数据的确切大小...
2019-03-25 21:28:30 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人