初识Android | 青训营笔记

98 阅读3分钟

初识Android | 青训营笔记

这是我参与「第四届青训营」笔记创作活动的的第9天

端智能

  • 定义:
    • 端智能(On-Device Machine Learning)是指把机器/深度学习算法模型应用和部署到端设备上,这里“端设备”是相对于云服务而言的,可以是手机,也可以是物联网IoT设备。 (as:抖音换装特效、离线文本识别、肢体检测、手势识别....)

  • 优势:
    • Latency:低延迟、实时性高
    • Privacy:保护隐私
    • Power:端设备算力越来越强大
    • Offline:可离线
    • Low Cost:低成本
    • 端云协同:端智能并不是云智能的替代,是云端机器学习的延伸,是要结合云和端各自的优势,在云端之间合理分配任务以获取问题最优解。


  • 设计步骤:
    • 首先,提出问题和方案:问题描述和定义->设计机器学习解决方案
    • 然后,训练AI模型:数据收集->模型设计,模型训练->模型压缩,模型转换
    • 最后,AI模型在移动端部署应用->拿到需求结果。

性能优化

  • 定义:
    • 性能优化,简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短。

  • 主要目标:
    • :最快显示效率、最快网络速率、最快UI响应
    • :最佳用户体验,减少强打断
    • :最低存储、最低功耗、最低流量消耗、最低计算资源

  • 广义分类:
    • 流畅度、资源、稳定性、系统级

  • 流畅性优化基础介绍:
    • 卡顿优化:减少布局嵌套层级,相同层级使用性能更好的布局。
    • 绘制优化:避免过度绘制,不要给View设置不必要的背景(其他无用属性也应该避免),避免过多的层级嵌套....
    • 启动速度优化:避免在Activity生命周期中进行耗时操作

  • 资源优化基础介绍:
    • 最大化资源调度:满足快,我们需要在网络、渲染等领域提供更多的资源;满足多,深度剖析系统资源使用,需要从系统层榨取更多的可用资源。
    • 最小化资源使用:保证业务基本面的前提下,通过降级或者优化等手段,将占用的资源做到最小。

  • 稳定性优化基础介绍:
    • 内存优化:页面销毁时,移除多余数据...
    • 网络优化:初始界面接口划分合理,减少网络请求时间....
    • 电量优化:网络请求时,先判断网络状态,并设置合理的超时时间,避免一直在后台等待数据....

  • 系统级优化基础介绍:
    • 安装包优化:移除无用代码、资源、删除无用功能.....

  • 性能优化检测工具:
    • Layertool
    • CPU Profiler
    • TraceView
    • Systrace
    • Battery Historian

参考资料:资料1资料2