内存受限?4字诀优化建议请你收下!
HarmonyOS JS(JavaScript)应用开发框架提供了一套跨平台的类Web应用开发框架,通过Toolkit将开发者编写的HML、CSS和JS 文件编译打包成JS Bundle,再将JS Bundle解析运行成C++ UIKit的View 组件进行渲染。
今天,我们针对内存有限的智能穿戴设备,给大家提出一些在开发该类应用时应该注意的事项。主要分为四个方面——看、简、拆、优。
应用的内存使用情况如图1右上角的信息所示:
●第一项表示当前已使用的JS内存值;
●第二项表示应用运行过程中使用的内存峰值;
●第三项表示总的内存值;
开发中需要特别注意的是不要让使用内存逼近总内存。因为在应用运行过程中存在部分动态申请内存的操作,如果当前使用的内存较高,就会出现申请不到内存进而导致内存溢出的情况发生。另外,部分API调用逻辑也会对内存造成额外压力。
下面举几个例子:
示例一
如图2-1所示,一个APP中使用了3个text控件去展示三行文字。实际上text是支持多行文字的(见图2-2),一个text足以实现该效果。
(图2-1)
(图2-2)
示例二
删除默认样式,也可以减少部分内存消耗。如图3所示,flex-direction的默认值为row,就没有必要再次设置组件flex-direction的属性值为row。
(图3)
智能穿戴设备JS应用同一时间只能运行一个页面。针对业务比较复杂的场景,建议保证业务完整性的情况下,尽量拆分页面,不要在一个页面放置太多业务。比如若在一个Page页面内使用Swiper实现多页面切换的效果,那么会导致该页面加载过多组件,业务过重。这时建议如图4所示,在js->default->pages目录下新建JS page,将不同业务拆分为多个页面进行显示。
(图4)
(图5)
总的来说,内存优化的过程中,一定要结合具体业务来确认优化点,减少不必要的控件和属性使用,适当拆分复杂业务,就能有效控制内存的使用情况啦~
END