自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

由于一个程序可能需要绑定多个aidl服务 需要开启多个服务进程 这是不好的,于是为了实现烤漆一个服务 绑定多个aidl 写了BinderPool类 参考博客: http://blog.csdn.net/u012760183/article/details/51397014

2016-05-14

BinderPool的Demo

当一个程序需要绑定多个AIDL的时候 开启多个服务明显不合适 于是就写了这个BinderPool来实现 开启一个服务 使用多个AIDL

2016-05-14

ContentProvider实现IPC的简单Demo

ContentProvider实现进程间的通信 对应我的下面这篇博客: http://blog.csdn.net/u012760183/article/details/51397014

2016-05-14

AIDL的简单实现(一个应用开启了2个进程)

关于aidl的简单实现 程序中开启了两个进程 进行通信 所以不需要复制aidl文件到另一个程序中 比较简单 详情可参考我的这篇博客 http://blog.csdn.net/u012760183/article/details/51397014

2016-05-14

空空如也

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

TA关注的人

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