返回顶部
首页 > 资讯 > 移动开发 >10种提升android运行效率的建议
  • 477
分享到

10种提升android运行效率的建议

2024-04-02 19:04:59 477人浏览 八月长安
摘要

目录一、有效的线程1. 如何使用后台线程以避免前台负载过荷?2.如何避免应用不响应ANR?3. 如何在分离的线程中初始化查询?4.其他二、设备电池的优化5. 如何优化网络?6. 如何

如何让安卓程序在有限的内存和电池资源下流畅快速有效率的运行,下面给出了10种实践中的建议:

一、有效的线程

1. 如何使用后台线程以避免前台负载过荷?

默认情况下,应用程序的所有操作都是在前台的主线程(UI线程)上运行的,应用程序响应能力可能会受到影响,会导致当机,死机,甚至系统错误。为了提升反应能力,应该将长时间运行的任务(如网络或数据库操作,复杂的计算)搬离应用程序的主线程,切换到以一个单独的后台线程方式运行。

完成这一切换任务的最有效方法是在类级别。您可以使用AsyncTask类或IntentService类​​来组织后台工作。一旦你实现了一个IntentService,它会在需要的时候启动,使用新的一个工作线程处理请求(意图)。

当使用IntentService,你应该考虑以下限制:

  • 这个类没有把结果送给UI,所以为了显示结果,需要使用Activity
  • 一次只有一个请求被处理。
  • 任何请求处理不能中断。

2.如何避免应用不响应ANR?

为了避免应用程序长时间无应答ANR,将长任务操作从UI主线程卸载到后台线程运行,你可以通过继承AsyncTask 和实现 doInBackground() 方式来实现

另外一个方式是创建一个线程或HandlerThread 实现类,值得注意的是,你还需要规定线程的"后台" 线程权限,因为这个新线程缺省权限和UI线程是一样的,同样会拖慢整个应用运行速度。

3. 如何在分离的线程中初始化查询?

数据显示并不是即时的,尽管你使用CursorLoader 对象可以加快提速,这个对象可以在不打扰用户和Activity交互情况下,查询在后台进行。

使用这个对象武装你的应用,在对于每个ContentProvider 查询操作初始化一个单独的后台线程,然后只有在查询完成时将返回给Activity

4.其他

  • 使用StrictMode 探测UI线程中你要实现操作的潜在可能的长任务操作。
  • 使用特殊工具,如Systrace, Traceview来发现你的应用中响应瓶颈。
  • 显示操作流程图标
  • 如果初始安装非常耗时,显示启动画面。

二、设备电池的优化

主要影响电池耗电时间有:

  • 定期的唤醒更新
  • 通过3GEDGE的数据传递
  • 文本数据解析 没有JIT正则表达式

5. 如何优化网络?

  • 如果没有连接,停止你的应用操作,只有3G或Wifi可连接时更新。
  • 选择压缩数据,比如将文本和二进制数据打包在一个请求中。
  • 使用有效率的解析器,使用流Stream解析而不是树tree解析器。
  • 减少与服务器的往返时间次数
  • 有可能对文本数据使用GZIP,充分利用CPU资源。

6. 如何优化前台应用?

  • 当设计唤醒时,请尽可能设置最低级别。
  • 避免潜在的Bug引起的电池消耗,使用timeout,杜绝死循环。
  • 激活Android:keepScreenOn.
  • 考虑手动让GC垃圾回收Java对象,如XmlPullParserFactory BitmapFactory,对于正则使用Matcher.reset(newString) , 使用StringBuilder.setLength(0).
  • 小心同步操作synchronization ,尽管它在被UI线程驱动时是安全的。
  • ListView中要多用循环利用策略,尽量多重用一个组件
  • 尽可能使用网络定位而不是GPS,
  • onPause中一定要注销GPS更新,用户自己能在设置中激活GPS
  • 计算浮点需要很多电池,你也许要考虑地理数学等方面的精度,当在使用DisplayMetrics执行DPI tasks with .时,缓存计算结果。

7.如何优化后台运行的应用?

因为每个流程需要2M,当前台程序需要内存时需要重启,确保每个服务是短生命周期。
尽量使内存消耗低
设计应用每30分钟更新,但是只能在设备唤醒情况下。
服务Service睡眠是不好的,应答使用AlarmManager<receiver>这样manifest元素,当完成时调用stopSelf() ,当启动服务时,使用AlarmManager,使用*_WAKEUP要注意,通过setInexactRepeating()进行复位让安卓能包装你的应用更新,当使用<receiver>时,动态地在manifest中激活或失效其组件,特别是空操作情况下。

8. 其他

  • 在进行一个完整更新之前,检查电池和网络状态,进行批量处理时要等待电池较好的状态
  • 提供用户电池使用情况的可选项,以决定更新周期和后台行为。

三、使用最少内存实现UI

9. 如何分辨出布局性能问题?

当你使用布局管理器创建页面时,你可能会引入一些延迟,为了实现平衡 内存消耗少的UI,你需要搜查布局中潜在的性能瓶颈,可以使用安卓SDK目录<sdk>/tools/下的Hierarchy Viewer 工具。

另外一个发现性能巍峨提的工具是Lint,它能扫描应用源码中层次寻找Bug

10. 如何解决性能问题?

你可以通过压扁层次比如通过从LinearLayout 类转换到使用RelativeLayout类,压低层次水平。

到此这篇关于10种提升android运行效率的建议的文章就介绍到这了,更多相关提升android运行效率的建议内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 10种提升android运行效率的建议

本文链接: https://lsjlt.com/news/156435.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 10种提升android运行效率的建议
    目录一、有效的线程1. 如何使用后台线程以避免前台负载过荷?2.如何避免应用不响应ANR?3. 如何在分离的线程中初始化查询?4.其他二、设备电池的优化5. 如何优化网络?6. 如何...
    99+
    2024-04-02
  • exe转php:提升软件运行效率的有效途径
    在软件开发领域中,执行效率一直是开发人员关注的重要问题。随着技术的不断发展,我们可以采取一些方法来提升软件的运行效率,其中一种有效的途径是将原本使用exe(可执行文件)运行的功能转换为...
    99+
    2024-03-05
    效率 转换 提升
  • 提升CSS选择器通配符效率的技巧和建议
    优化CSS选择器通配符的技巧和建议在编写CSS样式表时,选择器是非常重要的一部分。然而,使用不当的选择器会导致性能问题,特别是选择器中包含了通配符。本文将探讨一些优化CSS选择器通配符的技巧和建议,帮助你更好地编写高效的CSS样式表。选择器...
    99+
    2023-12-26
    技巧与建议 优化CSS选择器 选择器通配符
  • 提升Java代码运行效率的小细节有哪些
    这篇文章主要介绍“提升Java代码运行效率的小细节有哪些”,在日常操作中,相信很多人在提升Java代码运行效率的小细节有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”提升Java代码运行效率的小细节有哪些...
    99+
    2023-06-16
  • 如何用Python代码将运行效率提升17倍
    这期内容当中小编将会给大家带来有关如何用Python代码将运行效率提升17倍,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Mandelbrot集是一个涉及位运算、递归和虚...
    99+
    2024-04-02
  • 利用Numba与Cython结合提升python运行效率详解
    目录NumbaNumba模式什么是LLVM?Numba的优势:Numba的劣势:CythonCython的优势:Cython的劣势:Numba对CythonNumba Numba是一...
    99+
    2024-04-02
  • Linux使用zsh提高效率的5条建议
    平时比较喜欢命令行,不喜欢从图形化界面一个个的点过去;感觉还是命令搜索,查找方便些,快速些。但是,Bash本身提供的功能又不够方便,自己也懒得折腾。幸得github上有前辈大神们开源的 zsh工具集,甚至方便。此工具可以...
    99+
    2022-06-04
    linux shell linux z shell linux zsh
  • Android编程之高效开发App的10个建议
    本文讲述了Android编程之高效开发App的10个建议。分享给大家供大家参考,具体如下: 假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比、耗电...
    99+
    2022-06-06
    程之 app Android
  • 提高Python运行效率的六个窍门
    Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作。不仅如此,它还轻松支持多任务处理,比如多进程。不喜欢Python的人经常会吐嘈Python运行太慢。但是,事实并非如此。尝试以下六个窍门,来为你的Python应...
    99+
    2023-01-31
    窍门 效率 Python
  • 如何通过优化php函数来提升代码的运行效率?
    引言:在开发PHP应用程序时,优化代码的运行效率是一个重要的考虑因素。通过优化PHP函数,可以减少代码的执行时间,提高应用程序的响应速度。本文将介绍一些优化PHP函数的方法,并附上具体的代码示例。一、避免重复执行相同的函数当一个函数被多次调...
    99+
    2023-10-21
    函数 优化 PHP
  • 10个提升Web开发效率的JavaScript库分别是哪些
    这期内容当中小编将会给大家带来有关10个提升Web开发效率的JavaScript库分别是哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。JavaScript是最流行的编...
    99+
    2024-04-02
  • 记:SQL执行效率提升的操作详解
    场景 我用的数据库是MySQL5.6,下面简单的介绍下场景 课程表: create table Course( c_id int PRIMARY KEY, name varcha ...
    99+
    2024-04-02
  • 提升Python的执行效率的技巧有哪些
    今天小编给大家分享一下提升Python的执行效率的技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开始之前小伙伴先可...
    99+
    2023-07-06
  • Oracle提高SQL执行效率的3种方法
    Oracle提供了多种方法用于减少花在剖析Oracle SQL表达式上的时间,在执行带有大量执行计划的复杂查询时剖析过程会拖累系统的性能。现在我们来简要地看看这些方法中的几种。 1、...
    99+
    2022-11-15
    Oracle SQL执行效率
  • 神奇的 PHP 运算符:提升代码效率的秘诀
    1. 三元运算符 ( : ) 三元运算符是一个强大的工具,它允许开发者通过条件语句在两个表达式之间进行选择。语法如下: $result = (condition) expr1 : expr2; 例如: $age = 18; $mess...
    99+
    2024-04-02
  • 性能优化利器!ASP Performance Monitor 助您提升系统运行效率
    ASP Performance Monitor 是一款免费的开源工具,可用于分析和诊断 ASP.NET 应用程序中的性能瓶颈。它提供了多种功能,包括: 性能分析: ASP Performance Monitor 可以记录应用程序的性...
    99+
    2024-02-02
    性能优化 ASP Performance Monitor 应用程序瓶颈
  • 五个提升Python的执行效率的技巧分享
    目录1、合理使用标准或非标准库2、减少循环的使用3、注意重复代码运行4、减少全局变量使用5、使用合理的数据结构python作为使用最广泛的编程语言之一,有着无穷无尽的第三方非标准库的...
    99+
    2023-05-15
    Python提升执行效率技巧 Python提升执行效率 Python 技巧
  • 阿里云服务器ECS提升业务运行效率,保障数据安全
    随着科技的不断进步,云计算正在逐渐改变我们的生活方式和工作方式。阿里云服务器ECS(Elastic ComputeService)作为一款云端的高性能计算服务,是企业实现信息化的重要工具。它能提供稳定、安全、高效、灵活的计算能力,帮助企业...
    99+
    2023-12-11
    阿里 效率 服务器
  • 提升开发效率的Java命令行技巧有哪些
    本篇内容主要讲解“提升开发效率的Java命令行技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“提升开发效率的Java命令行技巧有哪些”吧!Mac 环境z...
    99+
    2024-04-02
  • PHP除以10000:提升代码执行效率的关键技巧
    PHP是一种广泛使用的服务器端脚本语言,用于开发动态网站和Web应用程序。在PHP编程中,优化代码执行效率是至关重要的,可以提高网站的性能和用户体验。本文将重点介绍一个关键的技巧,即将...
    99+
    2024-03-06
    代码执行效率
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作