Android與Java的一些思考

Android的生命週期: onCreate -> onStart -> onResume -> onPause -> onStop -> onDestroy
Android中以standard(標準模式)在Activity(A)中啓動另外一個Activity(B)的時候生命週期的調用順序爲:onPause(A) -> onCreate(B) -> onStart(B) ->onResume(B) ->onStop(A)
一般如果要在Activity銷燬之前會做一些回收工作,而我們也會將這些工作放在onStop方法中,原因也是因爲,ActivityB的onCreate是在ActivityA的onPause方法後調用且在onStop方法前調用。所以一般將耗時的工作放在onStop方法中,而不是onResume方法。

Android中使用SparseArray 代替HashMap 原因:當鍵是整數時,在HaspMap中使用java.lang.Integer對象,而SparseArray使用的則是基本類型int。因此,使用HaspMap會創建Integer對象,而SparseArray則可以避免。

getDeclaredMethod*()獲取的是類自身聲明的所有方法,包含public、protected和private方法。
getMethod*()獲取的是類的所有共有方法,這就包括自身的所有public方法,和從基類繼承的、從接口實現的所有public方法。

Java:
爲什麼局部內部類在訪問局部變量時,變量要用final修飾,用final修飾的變量能被回收嗎?
JAVA中內部類(匿名內部類)訪問的局部變量爲什麼要用final修飾?
final修飾只是代表它是不可再修改的,回收機制與不用final修飾一樣。

發佈了150 篇原創文章 · 獲贊 138 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章