關於Android中Context的操作

2021-07-25 16:33:27 字數 792 閱讀 6806

android

中context可以作很多操作,其主要的功能是載入和訪問資源。android有兩種不同的context

1.  protected void oncreate(bundle state)

把activity context傳遞給view,意味著view擁有乙個指向activity的引用,進而引用activity占有的資源:view hierachy, resource等。 這樣如果context發生記憶體洩露的話,就會洩露很多記憶體。 這裡洩露的意思是gc沒有辦法**activity的記憶體。 leaking an entire activity是很容易的一件事。 當螢幕旋轉的時候,系統會銷毀當前的activity,儲存狀態資訊,再建立乙個新的。 比如我們寫了乙個應用程式,它需要載入

乙個很大的,我們不希望每次旋轉屏

1.    public class myactivity extends activity 

10.         label.setbackgrounddrawable(sbackground);

11.         //drawable attached to a view

12.         setcontentview(label); 

13.       } 

14. }

1. 不要讓生命週期長的物件引用activity context,即保證引用activity的物件要與activity本身生命週期是一樣的。

3. 避免非靜態的內部類,盡量使用靜態類,避免生命週期問題,注意內部類對外部物件引用導致的生命週期變化。

Android面試之查漏補缺之Context

什麼是context?它描述的是乙個應用程式環境的資訊,即上下文。該類是乙個抽象 abstract class 類,android提供了該抽象類的具體實現類。通過它我們可以獲取應用程式的資源和類,也包括一些應用級別操作,例如 啟動乙個activity,傳送廣播,接受intent資訊等。說了這三點好像...

關於android中的ANR

在onupdate中獲取到fields的更新值 final string fields new string 5 fields 0 notifyvalue update,x1 fields 1 notifyvalue update,x2 fields 2 notifyvalue update,x3 ...

關於Android中的碎片

1.碎片和活動差不多,也包含布局。有自己的生命週期 2.在活動中使用fragment標籤可以將碎片新增到布局中 5個步驟 1.建立待新增的碎片例項 2.獲取fragmentmanager,在活動中可以直接通過呼叫getsupportfragmentmanager 方法得到 3.開啟乙個事務,通過呼叫...