成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android開發(fā)中網(wǎng)絡(luò)編程與常見功能優(yōu)化總結(jié)

移動開發(fā) Android
Android提供的AsyncTask,但事實上AsyncTask的問題更加嚴重,Thread只有在run函數(shù)不結(jié)束時才出現(xiàn)這種內(nèi)存泄露問題,然而AsyncTask內(nèi)部的實現(xiàn)機制是運用了 ThreadPoolExcutor,該類產(chǎn)生的Thread對象的生命周期是不確定的,是應(yīng)用程序無法控制的, 因此如果AsyncTask作為Activity的內(nèi)部類,就更容易出現(xiàn)內(nèi)存泄露的問題。
一般的應(yīng)用都是從服務(wù)器獲取數(shù)據(jù),然后通過極致的界面風格,將數(shù)據(jù)清晰,明朗的展現(xiàn)給用戶。
那么就可以分為這兩塊:
1.界面UI   追求極致
2.功能
2.1獲取數(shù)據(jù):主要是與服務(wù)器通信,那么就要涉及到網(wǎng)絡(luò)編程 :
2.1.1  URlConnection 
2.1.2  HttpURLConnection(post get)
2.1.3  Socket
2.1.4  HttpClient(post get)
2.1.5  WebService(自己拼裝請求xml 數(shù)據(jù),采用開源jar包 ksoap-android-)
2.2網(wǎng)絡(luò)通信的時候,采用的異步數(shù)據(jù)獲取
2.2.1   AsynTask android 封裝好的異步數(shù)據(jù)獲取,包括三個方法
doInBackground 執(zhí)行在子線程中的異步方法
onProgressUpdate 數(shù)據(jù)獲取之后 執(zhí)行的方法,在主線程中可以在這里更新UI界面
onPostExecute   異步方法執(zhí)行前,可以進行界面友好提示 在主線程中執(zhí)行的方法
2.2.2  自己封裝一個任務(wù)類(子線程)thread   采用線程池 這里需要自己維護一個任務(wù)列表,并且做到任務(wù)的優(yōu)先級
2.3 android優(yōu)化 最常見的就是listview 的大數(shù)據(jù)優(yōu)化  圖片優(yōu)化  訪問網(wǎng)絡(luò)的優(yōu)化
2.3.1 優(yōu)化的原則: 數(shù)據(jù)延遲加載  分批加載  本地緩存
2.3.2 listview 數(shù)據(jù)優(yōu)化 復(fù)用contentview  
創(chuàng)建static class ViewHolder
分批加載 滑動監(jiān)聽 或者按鈕  顯示更多數(shù)據(jù)  往下拖動 顯示
2.3.3 listview 圖片優(yōu)化  異步加載  
本地緩存(二級緩存  內(nèi)存(軟引用實現(xiàn)),sd卡)  
快速滑動時不顯示圖片
分為核心線程池和普通線程池,下載圖片等耗時任務(wù)放置在普通線程池
2.3.4 超級大胖子Bitmap
及時的銷毀(Activity的onDestroy時將bitmap回收,
在被UI組件使用后馬上進行回收會拋RuntimeException:
Canvas:tryingtousearecycledbitmapandroid.graphics.Bitmap)
設(shè)置一定的采樣率(有開發(fā)者提供的圖片無需進行采樣,
對于有用戶上傳或第三方的大小不可控圖片,可進行采樣減少圖片所占的內(nèi)存),
從服務(wù)端返回圖片,建議同時反饋圖片的size巧妙的運用軟引用drawable對應(yīng)resid的資源,
bitmap對應(yīng)其他資源任何類型的圖片,如果獲取不到(例如文件不存在,或者讀取文件時跑OutOfMemory異常),
應(yīng)該有對應(yīng)的默認圖片(默認圖片放在在apk中,通過resid獲取);
2.3.5 Drawable
ui組件需要用到的圖片是apk包自帶的,、
那么一律用setImageResource或者setBackgroundResource,而不要根據(jù)resourceid
注意:get(getResources(),R.drawable.btn_achievement_normal)該方法通過resid轉(zhuǎn)換為drawable,
需要考慮回收的問題,如果drawable是對象私有對象,在對象銷毀前是肯定不會釋放內(nèi)存的。
2.3.6 訪問網(wǎng)絡(luò)優(yōu)化
設(shè)置超時時間,采用壓縮流 傳送數(shù)據(jù) 
2.3.7  內(nèi)存優(yōu)化,static是Java中的一個關(guān)鍵字,當用它來修飾成員變量時,那么該變量就屬于該類,而不是該類的實例。所以用static修飾的變量,它的生命周期是很長的。
優(yōu)化方法:在一個工程中集中管理這些靜態(tài)常量 
盡量避免static成員變量的使用,
使用SoftReference或者WeakReference代替強引用
盡量避免在一個activity里面寫線程內(nèi)部類:
線程是Activity的內(nèi)部類,所以Thread中保存了Activity的一個引用,當run函數(shù)沒有結(jié)束時,Thread是不會被銷毀的,
因此它所引用的老的Activity也不會被銷毀,當這些activity加載了很多資源,沒有釋放也就很容易出現(xiàn)了內(nèi)存泄露
的問題。
Android提供的AsyncTask,但事實上AsyncTask的問題更加嚴重,Thread只有在run函數(shù)不結(jié)束時才出現(xiàn)這種內(nèi)存泄露問題,然而AsyncTask內(nèi)部的實現(xiàn)機制是運用了
ThreadPoolExcutor,該類產(chǎn)生的Thread對象的生命周期是不確定的,是應(yīng)用程序無法控制的,
因此如果AsyncTask作為Activity的內(nèi)部類,就更容易出現(xiàn)內(nèi)存泄露的問題。
那么就自己寫一個線程類,管理這些任務(wù)。
責任編輯:閆佳明 來源: Android應(yīng)用開發(fā) 網(wǎng)絡(luò)編程與常見功能優(yōu)化總結(jié)
相關(guān)推薦

2017-12-23 14:38:41

Android編程開發(fā)優(yōu)化

2010-02-22 16:25:40

2012-09-25 15:23:24

操作系統(tǒng)

2012-09-28 10:20:52

IBMdw

2018-04-03 10:30:35

2011-08-01 13:57:20

iPhone 網(wǎng)絡(luò)

2013-09-17 14:00:19

AndroidListView原理

2024-04-17 08:23:50

WebView技巧優(yōu)化

2009-09-23 17:52:16

Hibernate概念Hibernate常見

2010-11-18 11:05:09

網(wǎng)絡(luò)冗余冗余設(shè)備負載均衡

2020-03-19 10:10:25

網(wǎng)絡(luò)安全惡意軟件新冠病毒

2021-07-29 14:20:34

網(wǎng)絡(luò)優(yōu)化移動互聯(lián)網(wǎng)數(shù)據(jù)存儲

2009-06-18 10:24:00

CDMA網(wǎng)絡(luò)優(yōu)化

2015-03-05 12:49:46

NEC紅帽NFV

2013-07-04 15:05:14

Android

2013-03-27 13:26:04

Android開發(fā)Socket

2019-03-21 14:18:38

iOS開發(fā)優(yōu)化原因

2011-04-22 13:37:28

2015-09-15 08:30:23

Android代碼優(yōu)化

2023-03-09 08:30:34

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲一区不卡在线 | 久久新视频 | 久久国产视频播放 | 一区欧美 | 成人三级在线观看 | 久久久久久久国产精品视频 | 国产成在线观看免费视频 | 日韩精品在线观看一区二区三区 | 自拍中文字幕 | 久久久久久国产精品mv | 欧美精品在线免费 | 四虎影院欧美 | 在线免费看黄 | 日日操夜夜操视频 | 欧美视频一区 | 日韩在线观看精品 | 日韩午夜 | 精品一区二区三区四区外站 | 国产91 在线播放 | 99久久婷婷国产综合精品首页 | 久久久久久高清 | 免费精品视频一区 | 91视频88av| 国内精品免费久久久久软件老师 | 久久国产区 | 成年人在线视频 | 免费在线成人 | 久久综合狠狠综合久久综合88 | 91av在线免费播放 | 亚洲福利 | 中文字幕av亚洲精品一部二部 | 99精品久久久国产一区二区三 | 亚洲精品久久久久久国产精华液 | 国产二区精品视频 | 国产欧美一级 | 在线观看国产网站 | 国产精品久久av | 中文字幕一区在线 | 特级特黄特色的免费大片 | 日韩中文一区二区三区 | 国产成人精品一区二区三区视频 |