1含懊、為避免 ListView 在使用過(guò)程中消耗過(guò)多的內(nèi)存豹悬,需要對(duì) Listview 進(jìn)行優(yōu)化桐筏,常用的優(yōu)化方案是對(duì)加載好的布局進(jìn)行緩存范抓、創(chuàng)建 ViewHolder 類(lèi)對(duì)控件實(shí)例進(jìn)行緩存
2骄恶、Activity 之間交換數(shù)據(jù),可以根據(jù)活動(dòng)的生命周期用 Intent 傳值
3匕垫、上一個(gè) Activity 需要更新數(shù)據(jù)庫(kù)相關(guān)數(shù)據(jù)僧鲁,蠢方法之一,在跳轉(zhuǎn)到第二個(gè) Activity 之前直接調(diào)用 finish() 方法象泵,第二個(gè)活動(dòng)做了相關(guān)操作返回來(lái)時(shí)用 Intent 重新跳轉(zhuǎn)到第一個(gè) Activity寞秃,這里利用 onCreate() 相關(guān)特性
4、文字的尺寸用 sp 偶惠,非文字的尺寸用dp
5春寿、善用 LinearLayout 包裹 RelativeLayout 布局
6、使用到相關(guān)權(quán)限時(shí)忽孽,例如網(wǎng)絡(luò)绑改,到 AndroidManifest.xml 文件注冊(cè)相關(guān)內(nèi)容
7、網(wǎng)絡(luò)相關(guān)操作放到子線(xiàn)程兄一,子線(xiàn)程中厘线,網(wǎng)絡(luò)返回的結(jié)果調(diào)用 UiThread 切回主線(xiàn)程更新 UI
8、android 中用到 socket出革,創(chuàng)建實(shí)例的方法:
方法一 | 方法二 |
---|---|
Socket socket = new Socket("192.168.0.104", 7120); | Socket socket = new Socket(); |
SocketAddress socAddress = new InetSocketAddress("192.168.0.104", 7120); | |
socket.connect(socAddress, 2000); |
方法二可以設(shè)置 timeout 參數(shù)
9造壮、按鈕是否可點(diǎn)擊屬性為 enabled ,clickable 屬性無(wú)反應(yīng)
10骂束、java 中提取一個(gè)字符串的子串方法為 substring(0,3)耳璧,實(shí)則取到下標(biāo)為 0,1,2 三個(gè)字符
11、visibility 與 gone展箱,前者設(shè)置為控件不可見(jiàn)楞抡,但是占位置;后者設(shè)置為控件不可見(jiàn)析藕,且不占用位置
12召廷、獲取字符串長(zhǎng)度為 text.length()