优点: 1.系统能力的要求
2.webkit的哪些能力
图片和 动画2D-3D GPU
input click->tap
网络http->tcp/ip /socket
系统组件的能力
对计算量较大图片逻辑处理,提供so文件或者系统API。
APP的优化方向:
- 启动优化 2.业务优化3.体积优化
4.性能优化5.布局优化6.电量优化
7.网络优化8.内存优化
系统底层的优化方向:
- 启动优化
2.渲染优化
3.通信优化 AIDL
4.内存优化 垃圾数据的清理
5.CPU/GPU的优化 获取系统资源的调度优化
6.I/O优化
- webkit优化方向
8.冷热启动、保活机制
Application的构造器方法——>attachBaseContext()——>onCreate()——>Activity的构造方法——>onCreate()——>配置主题中背景等属性——>onStart()——>onResume()——>测量布局绘制显示在界面上
华为手机Android系统微信500人大群操作卡顿问题思考:
500人大群出现问题,那400人,100人呢?
另外,微信500人是在闲时还是高频活动时出现问题。如果是高频活动时,那就是高负载高并发等相关问题。此时就会涉及到网络环境/硬件设备等性能问题。
用户实际使用环境4G/3G/2G(弱网络环境),肯定会影响高频社交。
手机性能的问题(CPU处理器的性能问题)。
微信APP自身的性能优化(服务器高并发处理),内存泄漏等问题。
其他类似APP是否有类似问题(陌陌、钉钉)。
微信在竞品手机上的用户体验报告分析(apple/samsung/oppo/vivo/xiaomi)。
Android App性能优化
App卡顿
UI绘制、数据处理、UI过度绘制
耗电优化
合理使用wack_lock锁、集中处理网络请求(jobScheduler2)、计算优化(避免浮点运算)、数据传输优化(JSON->FlatBuffer)
安装包优化
res资源优化(图片)、代码(无用的库)、lib资源(动态资源、so库)、assets资源(mp3/ttf)、代码混淆、7z压缩
内存优化
对象引用(强引用、软引用、弱引用、虚引用)、数据类型、图片内存优化等
稳定性优化
Crash、ANR (设计逻辑、业务合理性)
淘宝/支付宝APP技术架构演变历史:
第一阶段:2014年之前,原生IOS/Android APP
第二阶段:2014-2017,Hybrid APP(Native+H5)
第三阶段:2017- 今,小程序应用
SDK mirror:
mirrors.neusoft.edu.cn 80
android-mirror.bugly.qq.com 8080
Android绘制原理
android应用层,layoutInflater把xml映射成对象加载到内存中
CPU再经过运算处理成多维的矢量图形
再然后交给GPU去一个一个的像素填充(栅格化处理)
Android的Binder进程通信是否可以优化???
小程序优化:
1.资源调度(即用即走)
2.xxxx
2.1针对小程序被拉起进程需要进行管控。
2.2 切换的后台小程序进行资源释放。
2.3 针对小程序进程采用专用策略(内存提前释放等)。
2.4 针对小程序的保活机制,需要采用对应的策略(压后台:释放资源,关闭:瞬间释放资源)。
2.x 需要跟支付宝/微信等小程序大厂针对小程序的资源调度等问题进行制约沟通。
3.安装的资源包下载默认在ROM而不是RAM。
4.删除系统垃圾文件,或者打包压缩处理。
5.复制,只新建一个指针地址。
华为应该联合Android大厂制定一个针对应用的CPU/Memory/IO/后台服务/广播等系统资源的管控机制的标准。
高调开源部分iAware代码,让其他厂商参与进来共同优化。
结合当下时髦的AI技术,研究开发资源AI调度系统。
华为需要改进的地方:
1.技术沉淀方式的改变(类gitbook/csdn,而不是D-Box)。
2.部门之前的共享机制不够(研究成果),导致重复研究。
基础工具或服务不够,或者传承度不够,重复造轮子。
目标100%有喊口号的嫌疑(阿里要求是99.9N%,N是9的个数)
Android系统优化
1.应用管控 &外设调度(赵鹏)->管控和硬件
2.应用内调度(张凯) -> CPU/Memory/IO
3.iAware算法&游戏优化(文学)-> 算法
4.内存优化&系统降耗 (周帅)-> Memory/CPU
5.计算资源(雁蒙)->CPU/Memory/GPU
6.框架(余涛)->framwork
7.安全OS基础服务(卫渊)
8.安全OS内核系统(成刚)->webkit