Chinese, Simplified subtitles

← 1px-2ozv9lE

1px-2ozv9lE

Get Embed Code
10 Languages

Showing Revision 7 created 04/13/2016 by Udacity Robot.

  1. 还记得在第二课中,
    Katherine 使用
  2. AsyncTask 连接至“刷新”按钮来
    更新我们的数据吗?
  3. Rato 谈到了为什么
    这是个坏主意,
  4. 因为 AsyncTask 并
    没有关联到活动生命周期。
  5. 即使在 Android 为
    该活动调用 onDestroy
  6. 并预期它被丢弃后,
    只要 AsyncTask 还在运行,
  7. 虚拟机将
    保留活动对象。
  8. 如果旋转手机,
    这一行为将破坏
  9. 您的活动,并实例化新的活动。
  10. 原生的 AsyncTask 实现
    包含两个线程,
  11. 以尝试执行相同的更新
    等等。
  12. 问题是,这不是
    适用于执行时间
  13. 可能会很长的
    后台操作(例如
  14. 从 Web 服务提取数据)的最佳模式。
  15. 如果离开应用,
    AsyncTask 会继续运行,
  16. 只要进程保持活跃。
  17. 但是,它将以低优先级
    运行,并且进程
  18. 可能在设备
    需要更多资源时
  19. 第一个被终止。
  20. 还有一个更大的问题。
  21. 应用首先
    必须在前台运行
  22. 且可见才能
    实例化任务。
  23. 因为我们在启动
  24. 此应用时开始了
    更新天气的任务,
  25. 所以,如果天气变化太快,
    可能会出现非期望的行为。
  26. 因此,我们要学习
    执行更新的正确方式。
  27. 我们希望当应用
    在前台运行时,
  28. 进程可以实现自动化。
  29. 但是,更重要的是,
    我们希望应用
  30. 可以在后台进行定期更新,
    同时消耗最少的电能。
  31. 在这节课稍后
    介绍天气通知时,
  32. 这将
    特别重要。