SO库Linux系统下的动态库文件,就像win系统下的dll文件一样。将APK,改成RAR,在Lib目录下.dex(classes.dex)Dex是Android系统中可以在Dalvik虚拟机上直接运行的文件格式。java源代码经过ADT的复杂编译后转换成Dex文件,这是一个逐步优化的过程。Dex文 ...
分类:
移动开发 时间:
2016-06-02 19:47:11
阅读次数:
606
安装/配置: 通过另外一个工具也可以测试手机客户端APP的性能,这就是android开发包中的DDMS工具(Dalvik Debug Monitor Service),先来说一下android开发包的安装: 1、 首先安装JDK,1.5以上的版本 2、 在安装完JDK 后,就需要下载及安装Andro ...
分类:
移动开发 时间:
2016-05-27 16:26:54
阅读次数:
238
最近在研究一个安卓项目内存优化的问题,确实这是一个比较系统的工程,和个人的代码习惯以及对jvm原理的掌握有很大关系,下面提示一些注意点
1. 内存优化
Android系统对每个软件所能使用的RAM空间进行了限制(如:Nexus one 对每个软件的内存限制是24M),同时Java语言本身比较消耗内存,dalvik虚拟机也要占用一定的内存空间,所以合理使用内存,...
分类:
移动开发 时间:
2016-05-27 12:00:16
阅读次数:
308
Bitmap所占用内存Android的虚拟机是基于寄存器的Dalvik,它的最大堆(单个进程可用内存)大小一般是16M,当然不同设备是不一样的,可以查看/system/build.prop文件,[注:现在的机子可能一般都有160M左右]。程序本身运行就占有一定的内存,在使用较大的bitmap时,由于... ...
分类:
其他好文 时间:
2016-05-15 07:07:19
阅读次数:
315
在 Android 开发中,有一个之前很少听说,最近偶尔江湖传闻听到过的问题,就是 65k 问题。什么是65k问题呢?其实很简单,就是 Android 有个限制,你的每个 App 中函数最多只能有 65536 个。这个限制其实是这样的,因为在编译成 Dalvik 字节码,也就是把你的 Class 们生成打包到一个 classes.dex 中去的时候呢,编译器会给你的 App 中所有的函数方法指定一个...
分类:
移动开发 时间:
2016-05-12 20:45:34
阅读次数:
191
内存泄漏
Android 的虚拟机是基于寄存器的 Dalvik,它的最大堆大小一般是
16M,有的机器为
24M。因此我们所能利用
的内存空间是有限的。如果我们的内存占用超过了一定的水平就会出现 OutOfMemory
的错误。
什么情况会导致内存泄漏
1.资源释放问题
长期保持某些资源,比如Context,Cursor,IO流的引用,资源得不到释放造成内存泄漏
...
分类:
其他好文 时间:
2016-05-12 16:48:22
阅读次数:
144
什么是字节码?
字节码的长度怎么计算?
字节码的格式是什么?
const类指令有那些?
和类、对象操作相关的指令有哪些?
switch相关指令是怎么回事?
Array数据操作指令有那些?
quick类型的指令有那些,起到什么作用?
execute-inline指令是怎么回事?...
分类:
其他好文 时间:
2016-05-12 16:09:36
阅读次数:
309
关于64k 引用限制的说明
About the 64K Reference Limit
Android application (APK) files contain executable bytecode files in the form of Dalvik Executable (DEX) files, which contain the
compiled cod...
分类:
移动开发 时间:
2016-05-07 11:21:02
阅读次数:
238
Dalvik虚拟机的运行效率远低于ART,这就是为什么从5.0开始android开始使用ART。
什么是Dalvik:
Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应...
分类:
其他好文 时间:
2016-05-07 09:50:41
阅读次数:
116
Bitmap优化
一个进程的内存可以由2个部分组成:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直 接在native上分配的。一旦内存分配给Java后,以后这块内存即使释放后,也只能给Java使用,所以如果Java突然占用了一个大块内存,即使很快释放了,C能用的内存也是16M减去Java最大占用的内存数。而Bitmap的生...
分类:
移动开发 时间:
2016-05-07 08:12:03
阅读次数:
204