• 0755-82538016
  • 0755-82560826
  • 深圳网站建设_APP小程序开发_博纳网络

    • 网站建设案例
      • ";

        营销网站建设

        全网营销网站

        高端网站建设

        商城网站建设

        外贸网站建设

        小程序开发

        区块链开发

        物联网项目开发

        定制app开发

        在线教育网站

        速成网站建设

        服装网站建设

        餐饮网站建设

        珠宝首饰网站

        机械制造网站

        文化旅游网站

        家装建材网站

        美容化妆品网站

        数码产品网站

        模板案例库

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站推广
      • ";

        网站优化基础

        建站优化

        网站优化

        营销推广

        整站优化

        推广帮助

        谷歌搜索

        推广方案

        推广套餐

        推广技巧

        百度排名

        巧用微博推广

        直播视频网站推广法

        微信推广网站方法

        网站外链推广

        公共微信号推广

        网站优化闲谈

        常见问题

        公司资讯

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站制作资讯
      • ";

        网站制作

        外贸网站建设

        网站设计

        网站代运营

        深圳网站建设专栏

        深圳小程序开发

        网站改版

        APP开发

        网站建设方案

        安全维护

        软件开发

        平台搭建

        建站行业资讯

        域名注册

        虚拟主机

        企业邮局

        国外主机

        VPS独享空间

        免备案香港服务器

        如何解析域名

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站报价
      • ";

        网站报价

        建站方案

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 公司动态
      • ";
        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 关注博纳
      • ";

        网站制作精英团队

        网站建设公司愿景

        公司介绍

        主营业务

        博纳文化

        加入博纳

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 联系我们
      • ";

        网站建设公司联系方式

        网站建设、网站制作公司乘车路线

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
      网站制作资讯

      当前位置:

        主页网站制作资讯APP开发APP开发如何内存优化实操解决方法

      APP开发如何内存优化实操解决方法

      发布时间:2019-05-24

      文章编辑:网站建设 文章来源:APP开发 浏览量:次

        APP开发如何内存优化实操解决方法,深圳APP开发公司提醒各位APP开发爱好者,我们在APP项目制作时如果不解决内存优化问题,对我们后期程序运行会存在着许多问题,本文就与各位分享如何节省内存,以下是一些节省内存的方法。
      (1)当UI不可见时,释放相关资源。在Activity的onPause()方法中停止动画、停止视频播放、停止获取和传递设备当前的经纬度给服务器等。在Activity的onStop()方法中取消当前界面的网络请求等。在onTrimMemory()方法中,接收到TRIM_MEMORY_UI_HIDDEN信号时释放UI使用的内存资源,如图片占据的内存,这样减少内存消耗,也可避免被系统回收此APP使用的内存。
      注意:onTrimMemory()方法中的
      TRIM_MEMORY_UI_HIDDEN回调只有当程序中的所有UI组件全部不可见的时候才会触发,这和onStop()方法还是有很大区别的,onStop()方法只是当一个Activity完全不可见的时候调用,比如说用户打开了程序中的另一个Activity。可以在onStop()方法中去释放一些Activity相关的资源,如取消网络连接或者注销广播接收器等,但是像UI相关的资源应该一直要等到onTrimMemory(TRIM_MEMORY_UI_HIDDEN)这个回调之后才去释放,这样可以保证如果用户只是从程序的一个Activity回到了另外一个Activity,界面相关的资源都不需要重新加载,从而提升响应速度。
      (2)在解码JPG、PNG和GIF等格式的图片时,通过设置图片位数可以有效减少使用的内存。如Glide中默认的图片解码位数是32位,也就是用4个字节描述一个像素点的数据。
      publicstaticfinalDecodeFormatDEFAULT=PREFER_ARGB_8888
      当APP检测到当前可用的内存少或屏幕的分辨率低时,可以降低图片的质量,就是降低图片的位数,如设置成PREFER_RGB_565,用2个字节描述一个像素的数据,这样消耗的内存少了一半。
      (3)内存紧张时释放资源。对于运行中的程序,如果内存紧张,会在onTrimMemory(intlevel)回调方法中接收到以下级别的信号。TRIM_MEMORY_RUNNING_MODERATE:系统可用内存较低,正在杀掉LRU缓存中的进程。而当前进程正在运行,没有被杀掉的危险。
      TRIM_MEMORY_RUNNING_LOW:系统可用内存更加紧张,程序虽然暂没有被杀死的危险,但是应该尽量释放一些资源,以提升系统的性能(这也会直接影响程序的性能)。TRIM_MEMORY_RUNNING_CRITICAL:系统内存极度紧张,而LRU缓存中的大部分进程已被杀死,如果仍然无法获得足够的资源的话,接下来会清理掉LRU中的所有进程,并且开始杀死一些系统通常会保留的进程,比如后台运行的服务等。当程序未在运行,并保留在LRU(Least-RecentlyUsed)缓存中时,在onTrimMemory(intlevel)中会返回以下级别的信号。TRIM_MEMORY_BACKGROUND:系统可用内存低,而程序处在LRU的顶端,因此暂时不会被杀死,但是此时应释放一些程序再次打开时比较容易恢复的UI资源。TRIM_MEMORY_MODERATE:系统可用内存低,程序处于LRU的中部位置,如果内存状态得不到缓解,程序会有被杀死的可能。TRIM_MEMORY_COMPLETE:系统可用内存低,程序处于LRU尾部,如果系统仍然无法回收足够的内存资源,程序将首先被杀死。此时应释放无助于恢复程序状态的所有资源。
      (4)不要在执行频率很高的方法或者循环中创建对象,可以使用HashTable等创建一组对象容器,从容器中取那些对象,而不用每次new与释放。
      (5)在代码中正式集成三方库时,最好要对库使用的内存进行评估。
      (6)使用Android系统提供的优化过的数据结构。如SparseArray、SparseBooleanArray和LongSparseArray等,相比Java提供的HashMap,这些数据结构更节省内存。
      (7)少用枚举变量,按Google官方文档的说法,枚举类型变量的内存消耗常比静态常量的2倍还多。
      (8)尽量少使用static类型变量。static类型变量的生命周期其实是和APP的生命周期是一样的。大量使用的话,就会导致大量内存无法被释放,容易出现内存不足的情况。
      (9)使用View缓存。在ListView和GridView中,列表中的很多项(convertView)是可以重用的,不需要每次调用getView方法都重新申请一次内存。
      (10)当有较多的字符串需要拼接的时候,推荐使用StringBuffer类。(11)开启线程数量不易过多,一般与(机器内核数+1)一样最好,推荐开启线程的时候使用线程池。
      (12)在加载网络图片的时候,使用软引用或者弱引用并进行本地缓存。
      (13)慎用多进程,一个不执行任何任务的空进程至少也要占用1.4MB内存。(14)尽可能地复用资源,如Android系统本身有很多字符串、颜色、图片、动画、样式以及简单布局等资源可以
      直接使用,同时要尽量复用style等资源以达到节约内存。
      (15)尽量优化的代码,减少冗余代码。Java中每个类(包括匿名内部类)都占用至少500字节左右的代码。
      (16)少用强引用,多用软引用或弱引用。好了,APP开发公司本文关于“
      APP开发如何内存优化实操解决方法”就分享到这里,谢谢关注,博纳网络编辑整理。
       

      当前文章链接:/construction/appkaifa/2785.html
      上一篇:制作APP时怎样减少APP使用的网络流量? 下一篇:安卓APP项目开发怎样防止内存泄露?
      返回列表
      如果您觉得案例还不错请帮忙分享:

      [声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。

      相关案例推荐

      • 浙媒网

        浙媒网

        行业网站

        浙媒网

      • 英华卫厨商城网站建设案例

        英华卫厨商城网站建设案例

        商城门户

        英华卫厨商城网站建设案例

      • Magline官方商城

        Magline官方商城

        商城门户

        Magline官方商城

      资讯分类

      • 网站制作
      • 外贸网站建设
      • 网站设计
      • 网站代运营
      • 深圳网站建设专栏
      • 深圳小程序开发
      • 网站改版
      • APP开发
      • 网站建设方案
      • 安全维护
      • 软件开发
      • 平台搭建
      • 建站行业资讯
      • 域名注册
      • 虚拟主机
      • 企业邮局
      • 国外主机
      • VPS独享空间
      • 免备案香港服务器
      • 如何解析域名

      最新发布

      • 社区APP开发上线后影响用户使用的粘性有哪些?
      • 为什么说大健产业O2OAPP开发潜力无限
      • 网络公司对社区O2OAPP开发基本认识
      • 工业4.0时代怎样做好一个APP的开发工作?
      • APP开发公司分析APP应用开发下一个巨头在哪些领域?
      • APP电子商务平台开发前景如何?
      • 社交类型APP开发需要具备的五个必要条件
      • 社交类型APP平台开发使用小程序还是APP模式好?
      • 使用HTML语言开发APP商城可以吗?
      • 社区O2OAPP开发的方向选择

      相关资讯

      • APP网站制作流程以及栏目分布
      • 企业网站优化人员面对搜索引擎的困惑
      • 企业门户网站如何做好针对搜索引擎的优化工作
      • APP/PC购物商城网站如何做好产品图片的优化技巧
      • 网站软文内容以及网站外链存在的几种形式对网站有多大影响
      • 如何做好网站软文标题的描述更适合搜索引擎的需要?
      • 网站建设好后期出现被搜索引擎降权的几个主要因素
      • 小程序开发制作前途取决于市场,别被您的同行抢了先机
      • APP开发公司提醒您关注:电商平台要求商家“二选一”引多方不满 专家提建议
      • APP为什么会在我们的手机界面上变成僵尸图标?

      热门搜索

      • 深圳网站开发
      • APP开发公司
      • 网站建设制作
      • 深圳网站制作
      • app网站建设
      • 网站建设方案
      • 商城网站建设
      • 设计公司
      • 手机网站制作
      • 网站优化

      Copyright © 2021 博纳网络 版权所有  粤ICP备17054727号

      • 🏠

        首页

      • 💬

        咨询

      • 📞

        通话

      • 📂

        案例

      • ⬆

        返回