使用DevEco Device Tool 2.1 Beta1的可视化分析来优化程序 原创

发布于 2021-5-28 16:21
浏览
2收藏

       工欲善其事,必先利其器。 DevEco Device Tool2.1 Beta1的可视化分析功能,可以通过可视化的功能展示开发板上运行的应用所占系统资源和内存资源的信息,从而及时调整各任务的内存和资源分配,实现程序和代码优化。这次就以“Windows下的Hi3861一键式编译烧录:中断方式控制LED灯(一)”(基于小熊牌 BEARPI HM.Nano开发板)(https://harmonyos.51cto.com/posts/4437)文中代码为例,做一次可视化分析和内存优化。

       首先对前文程序做可视化分析,可视化分析的简要步骤:(参考https://harmonyos.51cto.com/posts/4342)

              1. 复制“app_demo_sysinfo.c“和“app_demo_sysinfo.h“两个文件到程序iothardware的目录下。

              2.修改iothardware目录下BUILD.gn文件,sources下添加“app_demo_sysinfo.c”, include_dirs下添加“app_demo_sysinfo.h”头文件相对路径"//applications/sample/wifi-iot/app/iothardware"。 

              3.主程序“led_example02.c”中添加头文件     #include "app_demo_sysinfo.h".

              4.主程序“led_example02.c”入口函数中增加可视化任务调用   app_demo_heap_task();

       完成后在Windows环境下保存,编译,烧录,开发板重启后,主页下点击“Profiling”,点击“Live capture”,继续“Capture”,就进入DevEco Device Tool 2.1 Beta1的可视化分析页面,点击“Stack”,可以看到各线程的内存可视化。我们关注的“LedTask”线程内存占用388字节,占比为75.8%,属于正常,如下图。使用DevEco Device Tool 2.1 Beta1的可视化分析来优化程序-开源基础软件社区

                            

        很多时候, 为了程序的调试方便,我们会在程序关键位置增加一些打印信息,这样做,相应内存占用会增加。如下图,在程序中增加一些信息打印。

使用DevEco Device Tool 2.1 Beta1的可视化分析来优化程序-开源基础软件社区

使用DevEco Device Tool 2.1 Beta1的可视化分析来优化程序-开源基础软件社区

         然后对增加打印信息后的程序重新做可视化分许,结果“LedTask”内存占比过高,达到91.4%,内存不足,需要进行优化。

使用DevEco Device Tool 2.1 Beta1的可视化分析来优化程序-开源基础软件社区

          最后调整内存大小。原来程序的Led_Task分配内存为512,将其调整为1024后,再次做可视化分析,“LedTask”的内存占比为64.1%,恢复正常。如图

使用DevEco Device Tool 2.1 Beta1的可视化分析来优化程序-开源基础软件社区

使用DevEco Device Tool 2.1 Beta1的可视化分析来优化程序-开源基础软件社区

            DevEco Device Tool 2.1 Beta1的可视化分析还有更多的功能,希望广大鸿蒙开发者勇于探索,乐于分享。

 

            本文源代码见附件,可以通过修改Led_Task的内存大小,直接体验可视化分析优化内存的功能。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
app.zip 4.76K 26次下载
已于2021-5-28 16:24:40修改
2
收藏 2
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐