欢迎来到天天文库
浏览记录
ID:28818521
大小:57.00 KB
页数:9页
时间:2018-12-14
《android性能优化方法和汇总情况情况方案设计设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案Android性能优化方法对于一些Android项目,影响性能瓶颈的主要是Android自己内存管理机制问题,目前手机厂商对RAM都比较吝啬,对于软件的流畅性来说RAM对性能的影响十分敏感,除了优化Dalvik虚拟机的堆内存分配外,我们还可以强制定义自己软件的对内存大小,我们使用Dalvik提供的dalvik.system.VMRuntime类来设置最小堆内存为例: 1.private final static int CWJ_HEAP_SIZE = 6* 1024* 1024 ; 1
2、.VMRuntime.getRuntime().setMinimumHeapSize(CWJ_HEAP_SIZE); //设置最小heap内存为6MB大小。当然对于内存吃紧来说还可以通过手动干涉GC去处理bitmap设置图片尺寸,避免内存溢出OutOfMemoryError的优化方法★android中用bitmap时很容易内存溢出,报如下错误:Java.lang.OutOfMemoryError:bitmapsizeexceedsVMbudget●主要是加上这段: 1.BitmapFactory.O
3、ptions options = new BitmapFactory.Options(); 2. options.inSampleSize = 2; ●eg1:(通过Uri取图片) 1.private ImageView preview; 精彩文档实用标准文案1.BitmapFactory.Options options = new BitmapFactory.Options(); 2. options.inSampleSize =
4、 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一 3. Bitmap bitmap = BitmapFactory.decodeStream(cr 4. .openInputStream(uri), null, options); 5. preview.setImageBitmap(bitmap); 以上代码可以优化内存溢出,但它只是改变图片大小,并不能彻底解
5、决内存溢出。●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;//图片宽高都为原来的二分之一,即图片为原来
6、的四分之一 5. Bitmap b = BitmapFactory.decodeFile(fileName, options); 6. preview.setImageBitmap(b); 7. filePath.setText(fileName); ★Android还有一些性能优化的方法:● 首先内存方面,可以参考Android堆内存也可自己定义大小和优化Da
7、lvik虚拟机的堆内存分配● 基础类型上,因为Java没有实际的指针,在敏感运算方面还是要借助NDK来完成。这点比较有意思的是Google推出NDK可能是帮助游戏开发人员,比如OpenGLES的支持有明显的改观,本地代码操作图形界面是很必要的。● 图形对象优化,这里要说的是Android上的Bitmap对象销毁,可以借助recycle()方法显示让GC回收一个Bitmap对象,通常对一个不用的Bitmap可以使用下面的方式,如 1.if(bitmapObject.isRecycled()==fa
8、lse) //如果没有回收 精彩文档实用标准文案1. bitmapObject.recycle(); ● 目前系统对动画支持比较弱智对于常规应用的补间过渡效果可以,但是对于游戏而言一般的美工可能习惯了GIF方式的统一处理,目前Android系统仅能预览GIF的第一帧,可以借助J2ME中通过线程和自己写解析器的方式来读取GIF89格式的资源。●对于大多数Android手机没有过多的物理按键可能我们需要想象下了做好手势识别GestureDete
此文档下载收益归作者所有