java内存优化的问题

2022-10-23 08:46:30 0 171

今天这篇文章主要介绍内存相关的知识点,以及那些因素会导致OOM崩溃和相对应的解决方案,所以通过这篇文章你将学习到以下内容:

什么是虚拟内存和物理内存

32位和64位设备可用虚拟内存分别是多少

为什么虚拟内存不足主要发生在32位的设备上

如何解决虚拟内存不足的问题

App启动完成之后,虚拟内存的分布

如何解决Java堆内存不足的问题

Java堆上还有很多可用的内存,为什么还会出现OOM

做性能优化时,需要关心那些指标数据

不知道小伙伴们有没有经历过,相同的优化方案,A应用上线之后,崩溃率下降很多,但是B应用上线只有一点点收益,每个优化方案,在不同的App上所得到的优化效果未必一样,因为每个App在不同的国家和地区面对的用户群体不一样,因此机型也都不一样,所以我们需要了解内存相关的知识点,结合线上和线下数据,对自己的App进行归因,对症下药,才能取得较大的收益。

内存是极其稀缺的资源,不合理的使用会导致可用内存越来越少,可能会引发卡顿、ANR、OOM崩溃、Native崩溃等等,严重影响用户的体验。所以当我们在做性能优化的时候,内存优化是非常重要的环节。

初期在做内存优化的时候,在我们的脑海里都会有一个潜意识「内存占用越少越好」,在某些情况下是不对的。例如在高端机上我们可以多分配点内存,可以提升用户的体验,但是在低端机上内存本身就很小,所以我们应尽量减少内存的分配。例如针对损耗性能的动画、特效等等,在低端机上是不是可以关掉,或者关掉硬件加速、采用其他的方案代替,这样不仅可以减少崩溃,还可以减少卡顿,提高用户体验。

因为Java有自动回收机制,所以在开发过程中,很少有人会去关心内存问题,在脑海中都会有一个潜意识GC会自动回收,所以用完不会主动释放掉无用资源例如Bitmap、动画、播放器等等,等待GC来回收,在实际项目中,依赖GC是不可靠的。首先GC自动回收机制具有不确定性,GC也分为了不同的类型,如果发生FullGC时,会触发stoptheworld事件,会使App变得更加严重。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

免责声明:内容来自用户上传发布或新闻客户端自媒体,本站仅提供信息存储空间服务,如违规请联系删除。

玩技资源 国内新闻 java内存优化的问题 https://www.52diyhome.com/2022/10/64861.html

如遇资源失效请马上联系微信进行退款

常见问题
  • 答:资源大部分来源于网络和本站作者若有侵权请您联系管理员删除2523030730
查看详情
  • 玩技平台的主要负责内容是提供给作者售卖资源的平台,买家有对作者投诉的权利,投诉成功后会获取相应的补偿机制。官方唯一投诉通道客服QQ:2523030730转接人工服务,投诉专属客服工号【2】
查看详情
  • 本站已开启了作者实名认证,在购买商品时请尽量选择已认证的作者,不用担心跑路和无人售后的问题。如果出现问题,本站将采取报警的方式来指正作者进行诈骗行为,并将其身份资料提供给警方处理。
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 工作日在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    资源总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

资源在于分享,创作来源想象