由于附件上传有大小限制,所以我将代码上传到了 gitee 仓库里,地址为:https://gitee.com/guess_who_am_I/test.git
- 发布:2023-05-29 17:21
- 更新:2024-09-13 18:44
- 阅读:573
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 12.6.5
HBuilderX类型: 正式
HBuilderX版本号: 3.8.3
手机系统: Android
手机系统版本号: Android 13
手机厂商: 小米
手机机型: 小米10 Ultra(至尊纪念版)
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
请查看 demo 视频(demo 视频在项目根目录下)
请查看 demo 视频(demo 视频在项目根目录下)
预期结果:
页面关闭时内存及时回收,即使是使用了第三方字体。
页面关闭时内存及时回收,即使是使用了第三方字体。
实际结果:
使用第三方字体后,内存泄露。
使用第三方字体后,内存泄露。
bug描述:
如题,我在项目中使用了第三方字体后,页面关闭后内存无法被回收,导致内存溢出。随着打开页面的数量的增加,手机运行内存的占用会越来越高,甚至在一些设备上会导致应用闪退。
注:
- 附件中的项目为测试项目,只给出了很少的DOM结点和数据,所以无法导致在一些设备上引起闪退现象的发生,只能观察到运行内存占用越来越高。
- 在我们的真实项目中,打开一个详情页大概会占用20MB的内存,所以当打开60个页面左右时内存占用就飙升到1GB以上了,在测试同学的 OPPO Reno8 或 小米10 S 设备上时,此时就会出现 APP 闪退的现象了,在我的小米 10 Ultra 上则不会闪退。
4 个回复
嗨我来了 (作者) - 这个人很懒,什么也没写。
是我第三方字体的使用姿势不对吗?
嗨我来了 (作者) - 这个人很懒,什么也没写。
没有人遇到过这个问题吗?
DCloud_Android_ST
怎么判定的是字体泄露了。去掉字体就能得到解决?
嗨我来了 (作者)
经过进一步的摸索,我发现应该是使用的字体包体积大导致的,使用的两个鸿蒙字体字体包大小均为8M多,其余两款字体和字体图标大小最多只有几十KB,当我注释掉使用鸿蒙字体的css代码后(另外的字体和字体图标仍在使用),内存泄漏的问题就没有了。
2023-05-31 16:32
嗨我来了 (作者)
有什么方法可以临时解决一下这个问题吗?
2023-06-02 11:34
MrWang668
解决了吗
嗨我来了 (作者)
不用第三方大体积的字体包了
2024-12-26 01:26