編輯:初級開發
android開發時反射能幫助我們多少?
1. 有些網友可能發現android的SDK比較封閉,很多敏感的方法常規的用戶無法編譯,我們如果翻看了代碼直接在反射中聲明動態調用即可。比如很多internal或I開頭的AIDL接口均可以通過反射輕松調用。
2. 反射對於Android123來說更重要的是考慮到應用的兼容性,我們目前主要兼容從android 1.5到2.2的項目,API Level從3到8可以方便的擴充,調用前我們預留一個標志位聲明該API的最低以及最高的API Level為多少可以調用。
3. 對於調試Java的反射是功臣了,在Logcat中我們可以看到出錯的地方肯定有類似Java.lang.reflect.XXX的字樣,這種自檢機制可以幫助我們方便的調試android應用程序。
反射的缺點有哪些?
1. 因為是動態執行的,效率自然沒有預編譯時引用現有的庫效率高,就像平時我們Win32開發時,可以不用h文件,直接通過GetProcAddress一樣去動態獲取方法的地址。當然效率要根據復雜程度而決定,一般稍微復雜的處理性能損失可能超過20%,對於一些復雜的涉及Java自動類型轉換判斷,執行時間可能是直接引用的上千倍,所以最終我們調試時必須考慮性能問題。
2. 因為反射是動態的,所以需要處理很多異常,不然Dalvik崩潰出Force Close的概率會大很多,很簡單的一個反射就需要至少3個異常捕獲,本身try-catch效率就不是很高,自然進一步影響運行效率,對於android開發我們必須考慮這些問題。
3. 反射因為導致代碼臃腫,自然稍微復雜的幾個方法實用反射將會導致代碼可讀性和維護性降低,如果很抽象的調用android開發網強烈不推薦這種方法。
最後要說的是Reflection並不是Java的專利,微軟的.Net也同樣支持,同時更多的動態語言如Ruby等均支持這一特性。
本文收集10款對開發者有用的Android應用,希望能對你的開發有所幫助。如果你還知道有其他對開發者很有用的android應用?也分享出來吧。列表如下:1.Remote
android系統中采用PULL技術解析XML文檔比用SAX技術性能要好得多。建議android的開發者采用PULL技術解析XML文檔。跟SAX類似,只不過PULL技
android創建資源文件其實很簡單,但如果是創建自定義的原生資源的話,可能不知所措,特別是在剛接觸android開發時,廢說少說,切入正題1、在res新建目錄raw,
冬天,北風吹著、雪花飄著,宅男宅女都窩在被窩裡不願出去,但是又想用電腦上個網,看看動漫、打打游戲啥的……鑽出被窩就意味著寒冷,待在被窩裡就意味著不能玩台式電腦……真的是