码迷,mamicode.com
首页 > 移动开发 > 详细

Android性能优化方法(一)

时间:2014-06-20 21:01:18      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:android   style   class   java   tar   com   

一:Dalvik虚拟机

对于Android平台来说,其托管层使用的Dalvik JavaVM从目前的表现来看还有很多地方可以优化处理,比如我们在开发一些大型游戏或耗资源的应用中可能考虑手动干涉GC处理,使用 dalvik.system.VMRuntime类提供的setTargetHeapUtilization方法可以增强程序堆内存的处理效率。当然具体原理我们可以参考开源工程,这里我们仅说下使用方法: 

private final static floatTARGET_HEAP_UTILIZATION = 0.75f;

在程序onCreate时就可以调用 VMRuntime.getRuntime().setTargetHeapUtilization(TARGET_HEAP_UTILIZATION); 即可。

除了优化Dalvik虚拟机的堆内存分配外,我们还可以强制定义自己软件的对内存大小,我们使用Dalvik提供的 dalvik.system.VMRuntime类来设置最小堆内存为例:

  1. private final static int CWJ_HEAP_SIZE = 6* 1024* 1024 ; 
  2. VMRuntime.getRuntime().setMinimumHeapSize(CWJ_HEAP_SIZE); 

  //设置最小heap内存为6MB大小。

 

二:bitmap

Android 中用bitmap 时很容易内存溢出,报如下错误:Java.lang.OutOfMemoryError : bitmap size exceeds VM budget

  1. BitmapFactory.Options options = new BitmapFactory.Options(); 
  2. options.inSampleSize = 2;

改变图片大小,并不能去除溢出错误。可以借助recycle()方法显示让GC回收一个Bitmap对象,通常对一个不用的Bitmap可以使用下面的方式

 if(bitmapObject.isRecycled()==false) //如果没有回收

  bitmapObject.recycle();    

 

 

Android性能优化方法(一),布布扣,bubuko.com

Android性能优化方法(一)

标签:android   style   class   java   tar   com   

原文地址:http://www.cnblogs.com/xichao/p/3796189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!