Context, Activity, Appliction 有什么區(qū)別?

2018-07-04 11:07 更新

相同:

Activity 和 Application 都是 Context 的子類

Context 從字面上理解就是上下文的意思, 在實際應(yīng)用中它也確實是起到了管理上下文環(huán)境中各個參數(shù)和變量的作用, 方便我們可以簡單的訪問到各種資源.

不同:

維護的生命周期不同.

  • Activity 維護的是當前的 Activity 的生命周期. 所以其對應(yīng)的Context也只能訪問該 Activity 內(nèi)的各種資源
  • Application 維護的是整個項目的生命周期.

使用 context 的時候, 小心內(nèi)存泄露, 防止內(nèi)存泄露, 注意一下幾個方面:

  1. 不要讓生命周期長的對象引用 activity context, 即保證引用 activity 的對象要與 activity 本身生命周期是一樣的.
  2. 對于生命周期長的對象,可以使用 application context。
  3. 避免非靜態(tài)的內(nèi)部類, 盡量使用靜態(tài)類, 避免生命周期問題, 注意內(nèi)部類對外部對象引用導(dǎo)致的生命周期變化.


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號