Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 關於 android 程序中的 context

關於 android 程序中的 context

編輯:關於Android編程

今天看到 公司項目裡面的代碼

就想著記錄一下這個問題,順便能給他人以幫助。

就是主要是
activity context , application context 的這樣一個用法和區別

activity context 是跟著 activity的生命周期去走的
application context 的跟著整個應用程序的生命周期去走的

不要以為 這2個隨便用就好了
雖然都可以以實現程序功能為目的, 但是很可能造成很多問題
比如:內存洩露

context 內存洩露,
有時候 當activity 銷毀了。但是 context 還被其他持有引用, 這就造成了context 內存洩露

主要是 持有引用的問題, 才會導致 context 不能釋放

如果要一直持有引用的話 就用 application context 好些了。

類似的 有些對象的持有引用

XXManager = (XXManager) getSystemService(Context.XX);
改成:
XXManager = (XXManager) getApplicationContext().getSystemService(Context.XX);

類似 工具類裡面 context的持有引用

說到這裡,又牽扯的內存洩露的問題了

普遍的
1.用完沒有釋放
2. 監聽沒有remove 等問題
3. handler
4. thread

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved