在
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.開啟乙個事務,通過呼叫...