Chinese, Simplified subtitles

← 05-09 Network_and_Battery_Drain

05-09 Network_and_Battery_Drain

Get Embed Code
13 Languages

Showing Revision 3 created 01/25/2016 by sp4.

  1. 让我们来强调一点。
  2. 对于电池来说,
  3. 网络连接是最最最耗电的工作。
  4. 你的手机里有一个小小的硬件,
  5. HAM无线电,
    它的功能就是连接当地的电话信号塔,
  6. 和它们进行大量数据传输。
  7. 但是这个芯片并不是一直活跃的,
  8. 一旦你发送了部分数据,
    无线芯片在一定的时间内,
  9. 会保持开启状态来接收潜在的返回数据。
  10. 但是如果一直没有活动,
    这个硬件就会休眠,节省电量。
  11. 之前看过了,这个芯片开启初期 ,
    会消耗大量的电量,
  12. 而且只要保持开启状态,
  13. 就会持续耗电。
  14. 还要指出的是,应用与无线电互动,
  15. 有2种基本方式。
  16. 第一种,出现必须立即执行的任务。
  17. 这些任务是用户行为的结果,
  18. 或者是应用用户界面升级的即时需求。
  19. 例如,用户根据流行标签来
  20. 刷新推特界面 。
  21. 这是用户自主行为,所以应用必须立即执行。
  22. 另一方面,部分不需要立即执行的网络工作,
  23. 比如上传用户数据,
  24. 同步背景数据,或者更改全部图片大小。
  25. 所以,第一类任务需要即时执行,
  26. 需要给用户即刻反馈,而第二种任务可以延迟,
  27. 可以在电池方便时进行操作。
  28. 应用的大部分网络请求都属于第二类,
  29. 这种可能性非常高。
  30. 转换网络任务,提高效率,
  31. 可以分为2步。
  32. 首先,仔细查看应用工具电池历史里,
  33. 移动无线网(mobile_radio)这一栏。
  34. 每一个红色的栏都代表一个活跃的移动无线网,
  35. 红色栏的空隙代表无线网休眠。
  36. 如果你看到很多窄窄的栏,
  37. 这代表出现了问题,
  38. 代表这里反复,频繁出现的唤醒和休眠。
  39. 你应该期待看到大段的红栏和大段的空隙。
  40. 这代表你已经通过降低网络连接,提高了性能,
  41. 甚至没有使用任何网络连接。
  42. 你可以等手机接入WIFI后,
  43. 让WIFI硬件来处理,这样节约了大量电量。
  44. 现在的问题是,
    用编写代码来分批处理,缓存并延迟,
  45. 这些网络连接工作非常困难,
  46. 所以我们已经帮你们编写完成了。
  47. 任务调度API结合安卓L release,
  48. 可以替你们完成所有的
  49. 网络连接工作。
  50. 与其不断介绍这个超级实用的API,
  51. 不如你亲自操作一下吧。