导航:首页 > 操作系统 > androidapp性能优化

androidapp性能优化

发布时间:2022-09-08 10:15:19

⑴ 安卓手机用久了会卡顿,有什么办法可以解决这个问题

众所周知,安卓手机用久了,是会出现卡顿的情况,因此想要有效解决这个问题,就要养成清理后台的习惯。虽然安卓手机的运行内存非常大,但是如果经常性的打开软件,不清理的话,就会长时间的累积在后台当中,这样就会影响其他APP的空间。

千万不要下载过多的游戏,尤其是手机网游,像这些网友可能刚开始下载的时候,运行内存比较小,但是随着经常性的打游戏,那么内存会越来越大。甚至一款游戏占据手机十几个GB的内存,所以保留一个网游即可。另外也要对手机照片、视频进行相应的清理,这两者占据的内存也是非常大的,很有可能在看视频的过程当中,就会将视频保存到自己的手机中。

⑵ 如何对android进行性能优化

不知道你是说对系统优化还是什么app优化,

系统优化就只能找底层人员的了,我也不是很了解。

app优化的话,大体有以下几个方面

  1. ui优化,去除累赘的布局,优化初始化的速度,提高apk流畅性。

  2. 网络交互优化,好的网络和数据处理方式决定了app的体验性能。

  3. 检查内存是否有泄漏,人们常说的anr详细。

如何你问的是android手机优化。

平常人只能下载手机管家这种软件进行清除内存,垃圾,卸载无用的apk,保持android系统的流畅性。

⑶ 针对Android的性能优化集中哪些方面

一、概要:

本文主要以Android的渲染机制、UI优化、多线程的处理、缓存处理、电量优化以及代码规范等几方面来简述Android的性能优化

二、渲染机制的优化:

大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能。

Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染, 如果每次渲染都成功,这样就能够达到流畅的画面所需要的60fps,为了能够实现60fps,这意味着程序的大多数操作都必须在16ms内完成。

*关于JobScheler的更多知识可以参考http://hukai.me/android-training-course-in-chinese/background-jobs/scheling/index.html

七、代码规范

1)for loop中不要声明临时变量,不到万不得已不要在里面写try catch。

2)明白垃圾回收机制,避免频繁GC,内存泄漏,OOM(有机会专门说)

3)合理使用数据类型,StringBuilder代替String,少用枚举enum,少用父类声明(List,Map)

4)如果你有频繁的new线程,那最好通过线程池去execute它们,减少线程创建开销。

5)你要知道单例的好处,并正确的使用它。

6)多用常量,少用显式的"action_key",并维护一个常量类,别重复声明这些常量。

7)如果可以,至少要弄懂设计模式中的策略模式,组合模式,装饰模式,工厂模式,观察者模式,这些能帮助你合理的解耦,即使需求频繁变更,你也不用害怕牵一发而动全身。需求变更不可怕,可怕的是没有在写代码之前做合理的设计。

8)View中设置缓存属性.setDrawingCache为true.

9)cursor的使用。不过要注意管理好cursor,不要每次打开关闭cursor.因为打开关闭Cursor非常耗时。Cursor.require用于刷cursor.

10)采用SurfaceView在子线程刷新UI,避免手势的处理和绘制在同一UI线程(普通View都这样做)

11)采用JNI,将耗时间的处理放到c/c++层来处理

12)有些能用文件操作的,尽量采用文件操作,文件操作的速度比数据库的操作要快10倍左右

13)懒加载和缓存机制。访问网络的耗时操作启动一个新线程来做,而不要再UI线程来做

14)如果方法用不到成员变量,可以把方法申明为static,性能会提高到15%到20%

15)避免使用getter/setter存取field,可以把field申明为public,直接访问

16)私有内部类要访问外部类的field或方法时,其成员变量不要用private,因为在编译时会生成setter/getter,影响性能。可以把外部类的field或方法声明为包访问权限

17)合理利用浮点数,浮点数比整型慢两倍

18)针对ListView的性能优化,ListView的背景色与cacheColorHint设置相同颜色,可以提高滑动时的渲染性能。ListView中getView是性能是关键,这里要尽可能的优化。

getView方法中要重用view;getView方法中不能做复杂的逻辑计算,特别是数据库操作,否则会严重影响滑动时的性能

19)不用new关键词创建类的实例,用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。

clone()方法不会调用任何类构造函数。在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对象,则改用clone()方法创建新的对象实例非常简单。例如,下面是Factory模式的一个典型实现:

20)public static Credit getNewCredit() {
return new Credit();
}
改进后的代码使用clone()方法,如下所示:
private static Credit BaseCredit = new Credit();
public static Credit getNewCredit() {
return (Credit) BaseCredit.clone();
}
上面的思路对于数组处理同样很有用。

21)乘法和除法

考虑下面的代码:

  • for (val = 0; val < 100000; val +=5) { alterX = val * 8; myResult = val * 2; }
    用移位操作替代乘法操作可以极大地提高性能。下面是修改后的代码:
    for (val = 0; val < 100000; val += 5) { alterX = val << 3; myResult = val << 1; }

  • 22)ViewPager同时缓存page数最好为最小值3,如果过多,那么第一次显示时,ViewPager所初始化的pager就会很多,这样pager累积渲染耗时就会增多,看起来就卡。

    23)每个pager应该只在显示时才加载网络或数据库(UserVisibleHint=true),最好不要预加载数据,以免造成浪费

    24)提高下载速度:要控制好同时下载的最大任务数,同时给InputStream再包一层缓冲流会更快(如BufferedInputStream)

    25)提供加载速度:让服务端提供不同分辨率的图片才是最好的解决方案。还有合理使用内存缓存,使用开源的框架

    引用:Android性能优化的浅谈

    ⑷ Android性能优化第(八)篇---App启动速度优化之耗时检测处理

    应用的启动速度缓慢这是很多开发者都遇到的一个问题,比如启动缓慢导致的黑屏,白屏问题,大部分的答案都是做一个透明的主题,或者是做一个Splash界面,但是这并没有从根本上解决这个问题。那么如何从根本上解决这个问题或者做到一定程度的缓解?

    1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会首先会创建一个新的进程分配给该应用,这种启动方式就是冷启动。

    2、热启动:当启动应用时,后台已有该应用的进程,比如按下home键,这种在已有进程的情况下,这种启动会从已有的进程中来启动应用,这种启动方式叫热启动。

    3、温启动 :当启动应用时,后台已有该应用的进程,但是启动的入口Activity被干掉了,比如按了back键,应用虽然退出了,但是该应用的进程是依然会保留在后台,这种启动方式叫温启动。

    adb shell am start -W [PackageName]/[PackageName.MainActivity]

    执行成功后将返回三个测量到的时间:

    这里面涉及到三个时间,ThisTime、TotalTime 和 WaitTime。WaitTime 是 startActivityAndWait 这个方法的调用耗时,ThisTime 是指调用过程中最后一个 Activity 启动时间到这个 Activity 的 startActivityAndWait 调用结束。TotalTime 是指调用过程中第一个 Activity 的启动时间到最后一个 Activity 的 startActivityAndWait 结束。如果过程中只有一个 Activity ,则 TotalTime 等于 ThisTime。

    总结:如果只关心某个应用自身启动耗时,参考TotalTime;如果关心系统启动应用耗时,参考WaitTime;如果关心应用有界面Activity启动耗时,参考ThisTime。

    从我们Application开始到首页显示出来,这个过程,我们应该注意一些什么,将这个过程细分一下,会有下面的时间点需要注意。

    Application的构造器方法——>attachBaseContext()——>onCreate()——>Activity的构造方法——>onCreate()——>配置主题中背景等属性——>onStart()——>onResume()——>测量、布局、绘制显示在界面上。

    因为上面这些阶段全部都是在主线程中执行的,任何不经意的操作都可能拖慢应用的启动速度。所以我们不应在Application以及Activity的生命周期回调中做任何费时操作,具体指标大概是你在onCreate,onResume,onStart等回调中所花费的总时间最好不要超过400ms,否则用户在桌面点击你的应用图标后,将感觉到明显的卡顿。但是有些 不得以的任务 又必须在UI显示之前执行。所以我们要将 任务 划分优先级。

    对于首页渲染完成后,开始加载,或者延迟加载,延迟加载的目的就是界面先显示出来,然后加载,但是你觉得要延迟多久呢?在 Android 的高端机型上,应用的启动是非常快的 , 这时候只需要 Delay 很短的时间就可以了, 但是在低端机型上,应用的启动就没有那么快了,而且现在应用为了兼容旧的机型,往往需要 Delay 较长的时间,这样带来体验上的差异是很明显的。延迟加载有一种方式。

    极力推荐用第二种,在窗口完成以后进行加载,这里面的run方法是在onResume之后运行的。关于这种懒加载机制,参考 Android应用启动优化:一种DelayLoad的实现和原理(上篇) ,给出了详细的解释。

    通过上面我们知道一种懒加载机制,所以我们可以将Application中和首页的onCreate中的有些耗时任务,放到首页渲染完毕后加载。如何找出这些耗时任务,TraceView就派上用场了,TraceView的用法,移步我的前面的博客 Android性能优化第(六)篇---TraceView 分析图怎么看?

    比如在首页的onCreate中我们进行了用户启动上报,这个进行懒加载是不是分分钟减少139毫秒呢?

    在比如在Application里面用到了GSON,将String转化成json,我将这个移动到懒加载里面,是不是又减少了100毫秒呢?

    在比如,有些Application中做了支付SDK的初始化,用户又不会一打开App就要支付,放在Application中加载干嘛?

    此处我们这里举得例子是优化了139毫秒和100毫秒的,其实真正耗时的任务有的有1秒多,都被我优化完了,所以trace图中看不到了,就举个了这两个例子,还有SharedPreferences也是耗时大户,经过检测保存一个boolean变量耗时120+毫秒以上。

    利用TraceView可以清楚我们每一个方法的耗时时间,极大的帮助了我们做优化工作。

    五、优化思路总结
    1、UI渲染优化,去除重复绘制,减少UI重复绘制时间,打开设置中的GPU过度绘制开关,各界面过度绘制不应超过2.5x;也就是打开此调试开关后,界面整体呈现浅色,特别复杂的界面,红色区域也不应该超过全屏幕的四分之一;
    2、根据优先级的划分,KoMobileApplication的一些初始化工作能否将任务优先级划分成3,在首页渲染完成后进行加载,比如:PaySDKManager。
    3、主线程中的所有SharedPreference能否在非UI线程中进行,SharedPreferences的apply函数需要注意,因为Commit函数会阻塞IO,这个函数虽然执行很快,但是系统会有另外一个线程来负责写操作,当apply频率高的时候,该线程就会比较占用CPU资源。类似的还有统计埋点等,在主线程埋点但异步线程提交,频率高的情况也会出现这样的问题。
    4、检查BaseActivity,不恰当的操作会影响所有子Activity的启动。
    5、对于首次启动的黑屏问题,对于“黑屏”是否可以设计一个.9图片替换掉,间接减少用户等待时间。
    6、对于网络错误界面,友好提示界面,使用ViewStub的方式,减少UI一次性绘制的压力。
    7、任务优先级为2,3的,通过下面这种方式进行懒加载的方式

    8、Multidex的使用,也是拖慢启动速度的元兇,必须要做优化。后面有空专门写一篇Multidex。

    相关链接:

    Android应用启动优化:一种DelayLoad的实现和原理(上篇)http://androidperformance.com/2015/11/18/Android-app-lunch-optimize-delay-load.html

    Android性能优化之加快应用启动速度http://www.open-open.com/lib/view/open1452821612355.html

    手机淘宝性能优化全记录http://www.open-open.com/lib/view/open1452488209370.html

    Android客户端性能优化(魅族资深工程师毫无保留奉献)http://blog.tingyun.com/web/article/detail/155#rd

    Please accept mybest wishes for your happiness and success !

    ⑸ 安卓手机反应慢怎么办最简单的方法

    如果您使用的是华为手机,手机升级系统后短时间内出现卡顿,属于正常现象,如果并非刚升级完出现,请按照以下方案排查:
    温馨提醒:升级系统后卡顿原因:由于系统升级后刚开始使用时,系统会对手机中的应用程序进行优化,此时手机负载较高,使用时可能会出现卡顿情况。建议升级完成后将手机灭屏充电2小时以上,然后重启手机以保证手机内已安装的应用优化完成。
    1. 检查手机是否正在下载、复制、传输等操作
    如果手机正在执行上传下载(文件、图片、视频、应用等)、复制(文件管理拷贝数据等)、传输(手机克隆、Huawei Share等)等操作时感觉到卡顿,建议您等待任务结束或停止此操作。
    提示:您可以下拉状态栏查看上传、下载、传输文件的进度。
    2. 重启手机
    请您重启手机后尝试。建议您2~3天重启一次手机,重启能有效的清理缓存,缓解卡顿现象。
    3. 检查手机是否发热或者充电时使用
    手机特有的过热保护功能会适当降低系统性能。建议您尽量避免充电时使用手机,适当降低屏幕亮度,关闭不使用或异常耗电应用与功能,如“蓝牙”,NFC等。
    4. 检查存储卡
    (1)可能是存储卡存储的文件过多(建议预留10%以上空间),导致读写速度慢,建议您清理存储卡空间,或备份重要数据(QQ、微信等第三方应用需单独备份)后格式化存储卡。
    (2)可能是存储卡硬件异常,是否曾提示“存储卡异常”,若是,建议您尽快更换存储卡。
    (3)若手机的默认存储位置为存储卡,建议您将默认存储位置更改为“内部存储”后尝试。
    5. 关闭省电模式、保持电量充足
    如果您开启了省电模式,建议您关闭(设置 > 电池 > 省电模式和 超级省电),并保持电量充足(20%以上)。省电模式和低电量情况下,手机会降低性能以节省电量。
    6. 清理存储空间
    手机运行内存和存储空间不足时会导致应用卡顿,建议您进入手机管家进行清理:
    (1)进入手机管家点击一键优化/立即优化,优化完毕后,手机管家会显示优化结果以及设置建议。根据提示,完成相应的设置。
    (2)进入手机管家点击清理加速,待扫描完毕后,点击清理项后的立即清理,根据提示删除多余的文件,并卸载不常用的应用,保持存储空间充足(建议预留20%以上)。
    7. 升级系统版本
    (1)如果手机已经 Root,请恢复成官方稳定版本使用,详情请致电华为客服咨询。
    (2)建议您及时进行手机系统更新,并将应用升级到最新版本。新版本会对系统性能进行优化提升。更新方法:进入手机设置,搜索进入软件更新,点击检查更新。
    提示:恢复版本和升级系统版本会造成数据丢失,请您提前备份好数据(QQ、微信等第三方应用需单独备份)。
    8.卸载第三方手机管家类软件
    如果您的手机装有第三方手机管理类型的软件,请卸载此类应用后尝试。通常此类软件与手机自带的手机管家存在冲突,会导致运行卡顿。

    9. 恢复出厂设置
    请您备份重要数据(QQ、微信等第三方应用需单独备份),将手机恢复出厂设置后重试。
    如果问题仍然存在,请您备份好数据后(QQ、微信等第三方应用需单独备份)携带购机凭证前往华为客户服务中心进行检测处理。
    温馨提醒:您可以选择夜间充电(或灭屏充电40min以上),可以一定程度上整理手机内存碎片,缓解卡顿现象。

    相关链接如下:寄修服务华为客户服务中心预约服务维修备件价格查询

    ⑹ Android应用性能优化的内容简介

    今天的Android应用开发者经常要想尽办法来提升程序性能。由于应用越来越复杂,这个问题也变得越来越棘手。本书主要介绍如何快速高效地优化应用,让应用变得稳定高效。你将学会利用Android SDK和NDK来混合或单独使用Java、C/C++来开发应用。书中还特别讲解了如下内容:
    · 一些OpenGL的优化技术以及RenderScript(Android的新特性)的基础知识;
    · 利用SDK来优化应用的Java代码的技巧;
    · 通过高效使用内存来提升性能的技巧;
    · 延长电池使用时间的技巧;
    · 使用多线程的时机及技巧;
    · 评测剖析代码的技巧。
    把本书的内容学以致用,你的编程技术就会得到关键性的提升,写出的应用就会更为健壮高效,从而广受用户好评,并最终获得成功。
    目录
    第1章Java代码优化1.1Android如何执行代码1.2优化斐波纳契数列1.2.1从递归到迭代1.2.2BigInteger1.3缓存结果1.4API等级1.5数据结构1.6响应能力1.6.1推迟初始化1.6.2StrictMode1.7SQLite1.7.1SQLite语句1.7.2事务1.7.3查询
    第1章Java代码优化1.1Android如何执行代码1.2优化斐波纳契数列1.2.1从递归到迭代1.2.2BigInteger1.3缓存结果1.4API等级1.5数据结构1.6响应能力1.6.1推迟初始化1.6.2StrictMode1.7SQLite1.7.1SQLite语句1.7.2事务1.7.3查询1.8总结
    第2章NDK入门2.1NDK里有什么2.2混合使用Java和C/C++代码2.2.1声明本地方法2.2.2实现JNI粘合层2.2.3创建Makefile2.2.4实现本地函数2.2.5编译本地库2.2.6加载本地库2.3Application.mk2.3.1为(几乎)所有设备优化2.3.2支持所有设备2.4Android.mk2.5使用C/C++改进性能2.6本地Acitivity2.6.1构建缺失的库2.6.2替代方案2.7总结
    第3章NDK进阶3.1汇编3.1.1最大公约数3.1.2色彩转换3.1.3并行计算平均值3.1.4ARM指令3.1.5ARM NEON3.1.6CPU特性3.2C扩展3.2.1内置函数3.2.2向量指令3.3技巧3.3.1内联函数3.3.2循环展开3.3.3内存预读取3.3.4用LDM/STM替换LDR/STD3.4总结
    第4章高效使用内存4.1说说内存4.2数据类型4.2.1值的比较4.2.2其他算法4.2.3数组排序4.2.4定义自己的类4.3访问内存4.4排布数据4.5垃圾收集4.5.1内存泄漏4.5.2引用4.6API4.7内存少的时候4.8总结
    第5章多线程和同步5.1线程5.2AsyncTask5.3Handler和Looper5.3.1Handler5.3.2Looper5.4数据类型5.5并发5.6多核5.6.1为多核修改算法5.6.2使用并发缓存5.7Activity生命周期5.7.1传递信息5.7.2记住状态5.8总结
    第6章性能评测和剖析6.1时间测量6.1.1System.nanoTime()6.1.2Debug.threadCpuTimeNanos()6.2方法调用跟踪6.2.1Debug.startMethodTracing()6.2.2使用Traceview工具6.2.3DDMS中的Traceview6.2.4本地方法跟踪6.3日志6.4总结
    第7章延长电池续航时间7.1电池7.2禁用广播接收器7.3网络7.3.1后台数据7.3.2数据传输7.4位置7.4.1注销监听器7.4.2更新频率7.4.3多种位置服务7.4.4筛选定位服务7.4.5最后已知位置7.5传感器7.6图形7.7提醒7.8WakeLock7.9总结
    第8章图形8.1布局优化8.1.1相对布局8.1.2合并布局8.1.3重用布局8.1.4ViewStub8.2布局工具8.2.1层级视图8.2.2layoutopt8.3OpenGL ES8.3.1扩展8.3.2纹理压缩8.3.3Mipmap8.3.4多APK8.3.5着色8.3.6场景复杂性8.3.7消隐8.3.8渲染模式8.3.9功耗管理8.4总结
    第9章RenderScript9.1概览9.2Hello World9.3Hello Rendering9.3.1创建渲染脚本9.3.2创建RenderScriptGL Context9.3.3展开RSSurfaceView9.3.4设置内容视图9.4在脚本中添加变量9.5HelloCompute9.5.1Allocation9.5.2rsForEach9.5.3性能9.6自带的RenderScript API9.6.1rs_types.rsh9.6.2rs_core.rsh9.6.3rs_cl.rsh9.6.4rs_math.rsh9.6.5rs_graphics.rsh9.6.6rs_time.rsh9.6.7rs_atomic.rsh9.7RenderScript与NDK对比9.8总结

    ⑺ Android App性能优化之耗电优化

    在移动设备中,电池的重要性不言而喻,没有电什么都干不成。对于操作系统和设备开发商来说,去追求更长的待机时间,耗电优化一直没有停止。而对于一款应用来说,并不能忽略耗电问题,特别是那些被归为“电池杀手”的应用,最终的结果是被卸载。因此,应用开发者在实现需求的同时,需要尽量减少电量的消耗(本文针对Android App进行分析)。

    App耗电的原因其实很多,这里我就讲以下几种优化方案,优化方案的反面就是他的原因了,几种优化方案如下:

    1.合理的使用wake_lock锁,wake_lock锁主要是相对系统的休眠(这里就是为了省电,才做休)而言的,意思就是我的程序给CPU加了这个锁那系统就不会休眠了,这样做的目的是为了全力配合我们程序的运行。有的情况如果不这么做就会出现一些问题,比如微信等及时通讯的心跳包会在熄屏不久后停止网络访问等问题。所以微信里面是有大量使用到了wake_lock锁。

    2.使用jobScheler2,集中处理一些网络请求,有些不用很及时的处理可以放在充电的时候处理,比如,图片的处理,APP下载更新等等;

    3.计算优化,避开浮点运算等。

    4.数据在网络上传输时,尽量压缩数据后再传输,建议用FlatBuffer序列化技术,这个比json效率高很多倍,不了解FlatBuffer,建议找资料学习一下。

    App耗电分析所用到的工具

    App耗电高说到底无非是因为代码不合理造成的,其中存在的一些问题,我们通过调试也很难定位到。在这里,我给大家分享一款工具,那就是“友盟+u-apm”应用性能监控平台了,是为了帮助开发者监测app应用使用的。它可以实时监测到app性能方面的问题,定位到问题所在处,开发者可以针对问题进行解决并修复。

    友盟还通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力,支持多场景、多通道智能告警监控,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间。

    另外,友盟还提供了云真机测试能力,提供了海量Android、iOS真机,通过资源集中管理,合理调度分配,为开发者提供发版前测试、发现线上问题后复现等场景使用,助力开发者平衡成本与需求,提升研发效率。助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率。在云真机测试期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通。为移动开发者提供了灵活地测试操作界面,支持ADB调试、WEB远程调试、扫码、抓包、虚拟定位等测试功能,并提供了测试报告供开发者后续查看。

    友盟作为一款监测工具,可以帮助各位开发者监测app性能问题,还可以减轻开发者的负担和压力,简直就是开发者的“得力小帮手”!

    ⑻ android 性能优化,怎么保证应用启动不卡顿

    手机卡顿主要是手机的空间不足,所有需要使用腾讯手机管家这类清理力度比较大的清理软件来进行清理,点击垃圾扫描来对手机上面的各类垃圾进行扫描,之后一键进行清理,然后把手机上面没用的软件和图片都删除了来释放手机的空间,并且把手机上面的软件搬家到内存卡上面,这样手机的运行就很流畅了。

    ⑼ 安卓APP性能优化都涉及哪些方面

    以下优化都是在获取到Root后进行的。 Build.prop (编辑/system/build.prop 文件(需要root, 可以用文件管理器或者其他root explorer),re管理器如果build.prop里面有这些参数,只需要把数值更改。 1. 强制把Home程序驻入内存 ro.HOME_APP_ADJ=1 2.提高 JPG 质量为 100% ro.media.enc.jpeg.quality=100 3. VM 虚拟堆大小; 提高 RAM dalvik.vm.heap=48m 4. 使用 GPU 渲染UI debug.sf.hw=1 5. 减少拨号后出现的延时 ro.telephony.call_ring.delay=0 6.提高滑动响应 windowsmgr.max_events_per_sec=150 7.电池优化 wifi.supplicant_scan_interval=180 pm.sleep_mode=1 ro.ril.disable.power.collapse=0 8. 禁止调试通知图标出现在状态栏处 persist.adb.notify=0 9. 提高全局触摸屏响应 debug.performance.tuning=1 video.accelerate.hw=1 10. 提高图片和摄像质量 ro.media.dec.jpeg.memcap=8000000 ro.media.enc.hprof.vid.bps=8000000 11. (3G) 信号优化 ro.ril.hsxpa=2 ro.ril.gprsclass=10 ro.ril.hep=1 ro.ril.enable.dtm=1 ro.ril.hsdpa.category=10 ro.ril.enable.a53=1 ro.ril.enable.3g.prefix=1 ro.ril.htcmaskw1.bitmask=4294967295 ro.ril.htcmaskw1=14449 ro.ril.hsupa.category=5 12. 网络速度优化 net.tcp.buffer.default=4096,87380,256960,4096,16384,256960 net.tcp.buffer.wifi=4096,87380,256960,4096,16384,256960 net.tcp.buffer.umts=4096,87380,256960,4096,16384,256960 net.tcp.buffer.gprs=4096,87380,256960,4096,16384,256960 net.tcp.buffer.edge=4096,87380,256960,4096,16384,256960 13. 禁止拨号后出现黑屏 ro.lge.proximity.delay=25 mot.proximity.delay=25 14.修复应用程序出现问题 ro.kernel.android.checkjni=0 15.不通过按加/减音键唤醒手机 ro.config.hwfeature_wakeupkey=0 16.屏幕点亮时强制开启功能键背光 ro.mot.buttonlight.timeout=0 17.不显示开机动画(system/media/bootanimation.zip动画将不显示,加速开机速度) debug.sf.nobootanimation=1 18.其他优化 ro.config.hw_menu_unlockscreen=false persist.sys.use_dithering=0 persist.sys.purgeable_assets=1 dalvik.vm.dexopt-flags=m=y ro.mot.eri.losalert.delay=1000

    ⑽ android 性能优化有哪些办法

    性能优化的常用方法

    主要内容包括布局优化,绘制优化,内存泄露优化,相应速度优化,ListView优化,Bitmap优化,线程优化等,下面主要给你举了其中的几个例子:

    (1)布局优化

    布局优化的思想很简单,就是尽量减少布局文件的层级。

    如何进行优化呢?首先删除布局中无用的控件和层级,其次有选择地使用性能较低的ViewGroup,比如LinearLayout。如果布局中有的布局既可以用LinearLayout也可以用RelativeLayout,那就用LinearLayout,这是因为RelativeLayout比较复杂,他的布局过程花费更多的CPU时间。FrameLayout和LinearLayout一样都是一种简单高效的ViewGroup,因此可以考虑使用他们,但是很多时候,单纯的通过一个LinearLayout或者FrameLayout无法实现产品的效果,需要通过嵌套的方式来完成,这种情况建议采用RelativeLayout,因为ViewGroup的嵌套就相当于增加了布局的层级,同样会降低程序的性能。

    布局优化的另一种手段是采用<include>标枪,<merge>标签和ViewStub。<include>标签主要用于布局重用,<merge>标签一般和<include>配合使用,它可以减少布局的层级。而ViewStub则提供了按需加载功能,当需要时才将ViewStub中的布局加载到内存,这提高了程序的初始化效率。

    (2)绘制方法

    绘制优化是指View的onDraw方法避免执行大量的操作,这主要有两方面。

    首先,onDraw中不要创建新的布局对象,这是因为onDraw方法可能会被频繁调用,这样就会在一瞬间产生大量的临时对象,这不仅占用了过多的内存而且还会导致系统更加频繁的gc,降低了程序的执行效率。

    另一方面,onDraw方法中不要做耗时的任务,也不能执行成千上万次循环操作,尽管每次循环都很轻量级,但是大量的循环仍然十分抢占CPU的时间片,这会造成View的绘制过程不流畅。

    (3)内存泄露优化

    内存泄露在开发过程中是一个需要重视的问题,但是由于内存泄露问题对开发人员的经验和开发意识要求比较高,因此这是开发人员最容易犯的错误之一。内存泄露的优化分为两个方面,一方面是在开发过程中避免写出内存泄露的代码,另一方面通过一些分析工具比如MAT来找出潜在的内存泄露继而解决。

    关于性能优化的建议

    1.避免黄健过多对象;

    2.不要过多使用枚举,枚举占用的内存空间比整型大一些。

    3.常量使用staticfinal来修饰。

    4.使用一些Android特有的数据结构,比如SpareArray和Pair等,他们都具有更好的性能。

    5.适当使用软引用和弱引用。

    6.采用内存缓存和磁盘缓存

    7.尽量采用静态内部类,这样可以避免潜在的内部类而导致的内存泄漏。

    阅读全文

    与androidapp性能优化相关的资料

    热点内容
    心田花开app在哪里评价 浏览:447
    求索记录频道哪个app可以看 浏览:730
    金梅瓶pdf下载 浏览:977
    机器软件用什么编程 浏览:843
    java虚拟机指令 浏览:661
    shell编程入门书籍 浏览:946
    大连桶装水溯源码售价 浏览:302
    php怎么跳转到电脑 浏览:414
    如何在电脑上创建新网络连接服务器 浏览:61
    c语言编译之后如何运行 浏览:569
    mfc多线程编程视频 浏览:411
    c编译的中文怎么写 浏览:91
    单片机连接蜂鸣器电路 浏览:845
    程序员买房前后对比照 浏览:997
    cmdjava中文乱码 浏览:948
    窗口app哪个好 浏览:732
    xzforandroid 浏览:580
    程序员那么可爱歌曲完整版 浏览:917
    为什么购买pdf 浏览:54
    操作系统代码编译 浏览:483