Android Studio 工具:Lint 代碼掃描工具、
一、Analyze菜單下已骇, 主要有Inspect Code, Code CleanUp票编,Analyze Dependencies等功能褪储。Inspect Code通過(guò)運(yùn)行Lint檢查代碼的規(guī)范性。Code CleanUp可以自動(dòng)修改不規(guī)范的代碼慧域。Analyze Dependencies可以檢查工程依賴(lài)的庫(kù)鲤竹。
二、Android Profiler
Android Studio 3.0 Memory Profiler使用 http://www.reibang.com/p/e75680772375
https://blog.csdn.net/niubitianping/article/details/72617864
1.資源釋放
list.clear()昔榴、cursor.close()辛藻、bitmap.recycle()、mHandler.removeCallbacksAndMessages(null)互订、Bitmap.recycle()吱肌、imageview.setImageDrawable(null);
動(dòng)畫(huà)
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.clearAnimation();
}
});
2.代碼命名規(guī)范(不要一個(gè)名字到處使用)
3.不要在onDraw/onlayout/onMeasure(反復(fù)執(zhí)行)中分配對(duì)象,會(huì)導(dǎo)致大量new新的對(duì)象屁奏,頻繁垃圾回收岩榆。
4.一個(gè)控件错负,如果沒(méi)有定義focusable(可聚焦的)坟瓢,卻定義了是clickable(可點(diǎn)擊的)勇边,那么是不能通過(guò)鍵盤(pán)訪(fǎng)問(wèn)的。所以折联,需要添加一個(gè)focusable="true"粒褒。
5.<activity>沒(méi)有在manifest中注冊(cè)
6.string.xml中未被使用的字庫(kù)信息;中文字庫(kù)中有但是英文中沒(méi)有(多語(yǔ)言)
7.TextView不要使用android:digits诚镰、android:inputType奕坟、
8.SharedPreferences用apply()代替commit(commit:直接寫(xiě)入有Boolean返回值;apply:先寫(xiě)入內(nèi)存清笨,再后臺(tái)寫(xiě)入)
9.字體設(shè)置使用:sp月杉; margin, padding, height, width 使用:dp
10.自定義AsyncTask、handler設(shè)置為弱引用+ static的抠艾。非靜態(tài)內(nèi)部類(lèi)和匿名類(lèi)將會(huì)持有外部類(lèi)的引用苛萎。
11.SparseArray、SparseBooleanArray检号、SparseIntArray腌歉、LongSparseArray代替HashMap
12.baselineAligned="false用來(lái)對(duì)齊文案的屬性默認(rèn)true不需要時(shí)設(shè)置為false可以提高性能
13.將TextView和ImageVie合成一個(gè),直接在xml中利用TextView的 android:drawableTop齐苛、android:drawableRight等屬性指定
14.當(dāng)一個(gè)布局包含另一個(gè)時(shí)翘盖,將布局替換成<merge></merge>
15.簡(jiǎn)單的循環(huán)用foreach替換for
16.contains()返回的是boolean類(lèi)型亏狰;indexOf()返回的是int類(lèi)型贬墩,子字串在父字串中首次出現(xiàn)的位置冶共,沒(méi)有返回-1发绢。所以contains()效率比較高
17.線(xiàn)程安全用StringBuffer旁仿,其他的使用StringBuilder
18.使用字體圖標(biāo)庫(kù)(或矢量圖)代替使用drawable資源足陨。