开发者社区> 问答> 正文

app优化

app优化

展开
收起
请回答1024 2020-04-10 12:47:08 1007 0
1 条回答
写回答
取消 提交回答
  • app优化:(工具:Hierarchy Viewer 分析布局 工具:TraceView 测试分析耗时的)

    App启动优化

    布局优化

    响应优化

    内存优化

    电池使用优化

    网络优化

    App启动优化(针对冷启动)

    App启动的方式有三种:

    冷启动:App没有启动过或App进程被killed, 系统中不存在该App进程, 此时启动App即为冷启动。

    热启动:热启动意味着你的App进程只是处于后台, 系统只是将其从后台带到前台, 展示给用户。

    介于冷启动和热启动之间, 一般来说在以下两种情况下发生:

    (1)用户back退出了App, 然后又启动. App进程可能还在运行, 但是activity需要重建。

    (2)用户退出App后, 系统可能由于内存原因将App杀死, 进程和activity都需要重启, 但是可以在onCreate中将被动杀死锁保存的状态(saved instance state)恢复。

    优化:

    Application的onCreate(特别是第三方SDK初始化),首屏Activity的渲染都不要进行耗时操作,如果有,就可以放到子线程或者IntentService中

    布局优化

    尽量不要过于复杂的嵌套。可以使用 , ,

    响应优化

    Android系统每隔16ms会发出VSYNC信号重绘我们的界面(Activity)。

    页面卡顿的原因:

    (1)过于复杂的布局.

    (2)UI线程的复杂运算

    (3)频繁的GC,导致频繁GC有两个原因:1、内存抖动, 即大量的对象被创建又在短时间内马上被释放.2、瞬间产生大量的对象会严重占用内存区域。

    内存优化:参考内存泄露和内存溢出部分

    电池使用优化(使用工具:Batterystats & bugreport)

    (1)优化网络请求

    (2)定位中使用GPS, 请记得及时关闭

    网络优化(网络连接对用户的影响:流量,电量,用户等待)可在Android studio下方logcat旁边那个工具Network Monitor检测

    API设计:App与Server之间的API设计要考虑网络请求的频次, 资源的状态等. 以便App可以以较少的请求来完成业务需求和界面的展示.

    Gzip压缩:使用Gzip来压缩request和response, 减少传输数据量, 从而减少流量消耗.

    图片的Size:可以在获取图片时告知服务器需要的图片的宽高, 以便服务器给出合适的图片, 避免浪费.

    网络缓存:适当的缓存, 既可以让我们的应用看起来更快, 也能避免一些不必要的流量消耗.

    2020-04-10 12:47:42
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
女性移动App安全攻防战 立即下载
汇聚云计算的生态核能——云市场,云上APP Store 立即下载
千万级用户直播App——服务端架构设计和思考 立即下载

相关实验场景

更多