- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 Android Allocation Tracker和TraceView的使用
在介绍这两个工具之前,我们要先知道这两个工具的作用 Allocation Tracker : 分析内存占用情况 在Monitors 的 memory中 可以看出各个成员在内存中所占的大小 追踪对象在内存创建的过程TraceView : 分析方法执行的性能 在 ADM 中 可以知道方法执行的时间 次数等 这两个工具的使用很简单 :Allocation Track
2016-07-31 15:40:37 772
原创 Android Studio +MAT 分析内存泄漏实战
对于内存泄漏,在Android中如果不注意的话,还是很容易出现的,尤其是在Activity中,比较容易出现,下面我就说下自己是如何查找内存泄露的。首先什么是内存泄漏?内存泄漏就是一些已经不使用的对象还存在于内存之中且垃圾回收机制无法回收它们,导致它们常驻内存,会使内存消耗越来越大,最终导致程序性能变差。 其中在Android虚拟机中采用的是根节点搜索算法枚举根节点判断是否是垃圾,虚拟机会从GC R
2016-07-29 20:45:10 20815 3
原创 Android 热补丁技术的探索与简单实战----Qzone方案
Android app客户端与Web app相比的有一个劣势在于web app有更新不需要重新安装程序,而Android app如果有更新则需要重新下载最新版本安装完成更新,这个缺点无疑会给用户带来不小的麻烦与流量的浪费。 那么有没有办法解决这个问题呢? 热补丁技术的出现就是为了解决这个问题,现今我所知道的热补丁技术有淘宝的Dexposed、支付宝的AndFix以及Qzone的超级热补丁方案。下
2016-07-28 13:36:41 1915
转载 javassit框架的使用---动态改变字节码
原文地址: Javassist简单应用小结 概述 Javassist是一款字节码编辑工具,可以直接编辑和生成Java生成的字节码,以达到对.class文件进行动态修改的效果。熟练使用这套工具,可以让Java编程更接近与动态语言编程。 下面一个方法的目的是获取一个类加载器(ClassLoader),以加载指定的.jar或.class文件,在之后的代码中会使用到。private stat
2016-07-26 22:38:07 4509 1
原创 Android Studio 更新后一直停在Refreshing gradle project问题解决
解决办法: 1. 查看自己android studio 安装路径下的 gradle 下的 gradle版本 比如 我的路径F:\android_studio\gradle\gradle-2.10 版本号就是 2.10 2. 查看正在refreshing的项目的目录下的 \gradle\wrapper\gradle-wrapper.properties文件 比如我的 路
2016-07-25 17:47:21 40283 3
原创 MySql 保存大文件
JDBC实现MySql批处理业务场景: 当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。 实现批处理有两种方式第一种方式:Connection conn = null;Statement st = null;ResultSet rs = null;try {conn = JdbcUtil.getConnection()
2016-07-22 19:51:43 8439
原创 内存对齐的规则
为什么要内存对齐对于CPU从内存读取数据,并不是我们想象的那样,直接前去读取对应的大小,为了提升效率和速度,CPU会按照内存读取粒度的大小来读取内从中的数据,比如说如果内存读取粒度是4个字节,那么CPU会一次读取4个字节的内存,就算读取char类型的数据,虽然它只占1个字节,但是CPU依然会读取4个字节,然后从四个字节中取出char类型的数据,因此就产生了内存对齐这样的问题,也就是在结构体这样的类型
2016-07-21 07:08:45 364
原创 JVM内存结构
jvm管理的内存分为程序计数器、虚拟机栈、本地方法栈、堆、方法区 其中前三个个事线程私有的 程序计数器: 程序计数器是一块很小的区域,这部分区域的作用是存放当前线程所执行字节码的行号,它是线程私有的区域虚拟机栈: 虚拟机栈也就是我们常说的栈空间,它也是线程私有的,每个方法执行的时候都会产生一个栈帧,它用来存储局部变量表、操作数栈、动态链接、方法出口等信息,每一个方法从调用到执行完成的过程,
2016-07-21 07:08:19 268
原创 JVM中对象的创建过程
为什么要内存对齐对于CPU从内存读取数据,并不是我们想象的那样,直接前去读取对应的大小,为了提升效率和速度,CPU会按照内存读取粒度的大小来读取内从中的数据,比如说如果内存读取粒度是4个字节,那么CPU会一次读取4个字节的内存,就算读取char类型的数据,虽然它只占1个字节,但是CPU依然会读取4个字节,然后从四个字节中取出char类型的数据,因此就产生了内存对齐这样的问题,也就是在结构体这样的类型
2016-07-21 07:07:15 1702
BinderPool的小Demo
2016-05-14
ContentProvider实现IPC的简单Demo
2016-05-14
AIDL的简单实现(一个应用开启了2个进程)
2016-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人