編輯:關於Android編程
1. Correctness 1) DuplicatedIds Layout中id應該唯一 2) NewApi 代碼中使用的某些API高於Manifest中的Min SDK 3) InconsistentArrays 字符串國際化中,同一名字的的String-Array對應的item值不相同 4) Registered Activity/Service/ContentProvider沒有通過AndroidManifest注冊 5) Deprecated 使用已經廢棄的API 6) PxUsage 避免使用px,使用dp 2. Correctness:Messeges 1) MissingTranslation 字符串國際化不完全 2) ExtraTranslation 國際化的字符串,在默認位置(defaultlocale),沒有定義 3. Security 1) SetJavaScriptEnabled 不確定你的程序中確實需要JavaScript就不要執行SetJavaScriptEnabled。 2)ExportedContentProvider/ExportedReceiver/ExportedService/ExportedActivity ContentProvider/Receiver/Service/Activity的exported為true時,設置一個Permission,讓使用者獲取了Permission才能使用。 3) HardcodedDebugMode 不要在manifest中設置android:debuggable。 設置它,編譯的任何版本都要采用指定的debug模式。不設置,編譯Eng版本采用debug模式;編譯User版本采用release模式。 4. Performance 1) DrawAllocation 避免在繪制或者解析布局(draw/layout)時分配對象。E.g.,Ondraw()中實例化Paint對象。 2) ObsoleteLayoutParam Layout中無用的參數。 3) UseCompoundDrawables 可優化的布局:如包含一個Imageview和一個TextView的線性布局,可被采用CompoundDrawable的TextView代替。 4) UseSparseArrays 盡量用Android的SparseArray代替Hashmap 5) DisableBaselineAlignment 如果LinearLayout被用於嵌套的layout空間計算,它的android:baselineAligned屬性應該設置成false,以加速layout計算。 6) FloatMath 使用FloatMath代替Math。 7) NestedWeights 避免嵌套weight,那將拖累執行效率 8) UnusedResources/UnusedIds 未被使用的資源會是程序變大,並且編譯速度降低。 9) Overdraw 如果為RootView指定一個背景Drawable,會先用Theme的背景繪制一遍,然後才用指定的背景,這就是所謂的“Overdraw”。 可以設置theme的background為null來避免。 10) UselessLeaf/UselessParent View或view的父親沒有用 5. Usability:Typography 1) TypographyDashes 特殊字符需用編碼代替:“–”需要用“–”;“—”需要用“—” 2) TypographyEllipsis 特殊字符需用編碼代替:“…”需要用“…” 3) TypographyOther 問題:“(c)”需要用“©” 6. Usability:Icons 1) IconNoDpi Icon在nodpi和指定dpi的目錄下都出現。 2) GifUsage Image不要用GIF,最好用PNG,可以用JPG。 7. Usability 1) BackButton Android中不要設計有Back的按鈕,Android中一般有Back的硬按鍵。 2) ButtonCase Button的“Ok”/“Cancel”顯示大小寫一定,不要全大寫或全小寫。有標准的資源的字符串,不要自己再定義,而要用系統定義的:@android:string/ok和@android:string/cancel 8. Accessibility 1) ContentDescription ImageView和ImageButton應該提供contentDescription 9. Internationalization 1) HardcodeText 硬編碼的字符串應該在資源裡定義 2) EnforceUTF8 所有XML資源文件都應該以UTF-8編碼
在我們現在開發APP過程中,當用戶注冊時,短信驗證是必不可少的操作,這裡我們就是用一個免費的第三方短信驗證SDK-MOP首先看下效果圖 獲取AppKey和AppSecre
Android設置鬧鐘並不像IOS那樣這麼簡單,做過Android設置鬧鐘的開發者都知道裡面的坑有多深。下面記錄一下,我解決Android鬧鐘設置的解決方案。主要問題1、
為什麼關注性能對於一款APP,用戶首先關注的是 app的性能,而不是APP本身的屬性功能,用戶不關心你是否是搞社交,是否搞電商,是否是一款強大的美圖濾鏡app,用戶首先關
在上一篇博文《Android之——殺死用戶選中的進程(釋放進程占用的空間)》一文中,向大家介紹了如何殺死用戶選中的進程,但是,遺留了一個問題,那就
問題背景:app在上傳圖片時,同時傳遞參數,支持傳遞多個圖片。本文中的環