轨迹导航性能优化

作者: mobile墨白 | 来源:发表于2019-06-19 15:06 被阅读0次

解决步骤:

1、去掉maputil,不需要展示
2、去除百度地图的定位,改用导航自带定位回调
3、优化权限申请


分析工具:Android Studio自带profiler工具

主要参数:(出处)

  • Native:从 C 或 C++ 代码分配的对象内存。
    即使您的应用中不使用 C++,您也可能会看到此处使用的一些原生内存,因为 Android 框架使用原生内存代表您处理各种任务,如处理图像资源和其他图形时,即您编写的代码采用 Java 或 Kotlin 语言。

  • Graphics:图形缓冲区队列向屏幕显示像素(包括 GL 表面、GL 纹理等等)所使用的内存。 (请注意,这是与 CPU 共享的内存,不是 GPU 专用内存。)

分析过程:

这里我们主要观察cpu变化和内存变化,内存变化指标主要观察graphics(图形绘制内存指标,以下简称gp)和native数据变化

注意:我们这里只看变化值

step1:去掉mapView:

去掉maputil和mapView之前,进入activity,gp暴涨了27.4m,native也涨了19.6m,分析了下cpu加载方法耗时发现代码内结合maputil加载了一个mapView,且每秒n次在不断刷新,导致onCreat方法加载耗时接近1000ms


进入前
进入后

优化后,gp上涨了13.4m,native涨了11.9m:


进入前 进入后

step2:去除百度地图的定位,改用导航自带定位回调:

代码里有涉及到定时获取定位去获取接口数据,我们直接把接口放到导航自带的定位回调即可,此处忽略性能优化前后对比,少一个定时定位模块效果显而易见。

step3:优化权限申请:

我们发现两个弹窗从显示到消失过程native几乎没有变化,gp却从62.6m暴降到28.7m再到16.7m,整整降了45.9m,在此过程中,不仅有弹窗显示,也有权限申请等过程,代码包含for循环等逻辑。

第一个弹窗显示 第一个弹窗消失,第二个弹窗显示 第二个弹窗消失

我们自己尝试写了一个同样的dialog展示,发现gp在dialog消失后下降了10m左右,这个比较符合第二个弹窗消失的消耗,那么第一个弹窗消失的过程除去10m消耗,还剩余24m左右未知消耗。

我们考虑到在Android9.0以后对app耗电限制的问题,在这里我们先申请权限,每次进入之前先检查白名单,确认已经拿到权限后再进入轨迹导航。

todo:不过目前在华为荣耀的Android9.0机型有点问题,该机型的9.0版本并没有白名单。

相关文章

  • 轨迹导航性能优化

    解决步骤: 1、去掉maputil,不需要展示2、去除百度地图的定位,改用导航自带定位回调3、优化权限申请 分析工...

  • H5页面性能优化(转载)

    对于一个产品,性能在用户体验中是必不可缺的一环。性能优化是个长远的事情,联想到导航项目,列出以下性能优化的方案: ...

  • iOS开发-iOS15适配踩坑

    1.导航栏显示 iOS15中,苹果对导航栏的性能做了优化,默认情况下,如果导航栏与视图没有折叠,导航栏的背景透明,...

  • iOS 15 适配和新特性

    1、苹果对导航栏的性能做了优化,默认情况下,如果导航栏与视图没有折叠,导航栏的背景透明,如果系统检测到有重叠的话,...

  • iOS 15.0 导航 push 会有灰色闪一下,解决方案记录一

    原因:苹果对导航栏的性能做了优化,默认情况下,如果导航栏与视图没有折叠,导航栏的背景透明,如果系统检测到有重叠的话...

  • Android性能优化 - 消除卡顿

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化 - 内存优化 性能分析工具 - Tra...

  • Android性能优化 - 内存优化

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化- 内存优化 性能分析工具 - Trac...

  • 前端性能优化(中)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(上)...

  • 前端性能优化(下)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(中)...

  • Awesome Extra

    性能优化 性能优化模式 常见性能优化策略的总结 Spark 性能优化指南——基础篇 Spark 性能优化指南——高...

网友评论

    本文标题:轨迹导航性能优化

    本文链接:https://www.haomeiwen.com/subject/rofrxctx.html