Android 性能优化方法 对于一些Android 项目,影响性能瓶颈的主要是Android 自己内存管理机制问题,目前手机厂商对RAM 都比较吝啬,对于软件的流畅性来说RAM 对性能的影响十分敏感,除了 优化Dalvik 虚拟机的堆内存分配外,我们还可以强制定义自己软件的对内存大小,我们使用Dalvik 提供的 dalvik.system.VMRuntime 类来设置最小堆内存为例: 1. private final static int CWJ_HEAP_SIZE = 6* 1024* 1024 ; 1. VMRuntime.getRuntime().setMinimumHeapSize(CWJ_HEAP_SIZE); //设置最小heap 内存为6MB 大小。当然对于内存吃紧来说还可以通过手动干涉GC 去处理 bitmap 设置图片尺寸,避免 内存溢出 OutOfMemoryError 的优化方法 ★android 中用bitmap 时很容易内存溢出,报如下错误:Java.lang.OutOfMemoryError : bitmap size exceeds VM budget ● 主要是加上这段: 1. BitmapFactory.Options options = new BitmapFactory.Options(); 2. options.inSampleSize = 2; ● eg1:(通过Uri 取图片) 1. private ImageView preview; 2. BitmapFactory.Options options = new BitmapFactory.Options(); 3. options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一 4. Bitmap bitmap = BitmapFactory.decodeStream(cr 5. .openInputStream(uri), null, options); 6. preview.setImageBitmap(bitmap); 以上代码可以优化内存溢出,但它只是改变图片大小,并不能彻底解决内存溢出。 ● eg2:(通过路径去图片) 1. private ImageView preview; 2. private String fileName= "/sdcard/DCIM/Camera/2010-05-14 16.01.44.jpg"; 3. BitmapFactory.Options options = new BitmapFactory.Options(); 4. options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一 5. Bitmap b = BitmapFactory.decodeFile(fileName, options); 6. preview.setImageBitmap(b); 7. filePath.setText(fileName); ★Android 还有一些性能优化的方法: ● 首先内存方面,可以参考 Android 堆内存也可自己定义大小 和 优化Dalvik 虚拟机的堆内存分配 ● 基础类型上,因为Java 没有实际的指针,在敏感运算方面还是要借助 NDK 来完成。这点比较有意思的是Google 推出NDK 可能是帮助游戏开发人员,比如 Ope...