Android知識彙總

1、四大組件算法

Activity (生命週期可編輯onResume和可見onStart,不可編輯onPause和不可見onStop)、Service (AIDL,開始方式)、BroadcastReceived(有序,無序) 、ContentProvider(Uri)數據庫

2、五大布局服務器

LinearLayout 、RelativeLayout(下降佈局嵌套) 、FreamLayout 、TableLayout 、AbsoluteLayout網絡

3、通訊機制多線程

Intent(隱式,顯示,兩個之間的數據傳遞)、Service、BroadcastReceived、Handler(多線程)、sharedPreferred(若是跳轉的次數太多,能夠考慮本地文件存儲了)、file(相似於sharedPreferred)app

4、動畫框架

幀動畫、Tween動畫(移動、縮放、旋轉、透明)異步

5、ListViewsocket

各類佈局加載(動態加載佈局)、優化(convertView、ViewHolder、異步加載、分頁加載)、notifyDataSetChanged更新數據ide

6、Fragment

與Activity(使用FragmentManager)之間的通訊、Fragment使用(getActivity())

7、線程、進程

1.進程:一個應用程序在內存中的鏡像

2.線程:一個進程中能夠包含多個線程

多線程、多線程下載

Thread Runnable Handler AsyncTask

應用場景:耗時操做(通常指5秒)和定時操做(schedule Task)

具體場景:IO操做(網絡操做、文件操做、數據庫操做)、複雜的運算算法、消息接收方法的耗時操做、定時任務

  1. 線程池的基本思想仍是一種對象池的思想,開闢一塊內存空間,裏面存放了衆多(未死亡)的線程,池中線程執行調度由池管理器來處理。當有線程任務時,從池中取一個,執行完成後線程對象歸池,這樣能夠避免反覆建立線程對象所帶來的性能開銷,節省了系統的資源。

8、http和socket

Http(短鏈接)特色是客戶端發送的每次請求都須要服務器回送響應,在請求結束後,會主動釋放鏈接

Socket(長鏈接) 特色 服務器監聽,客戶端請求,鏈接確認

區別、優缺點、返回碼的含義

返回碼200成功206部分紅功404文件丟失503服務器未響應

9、數據存儲

文件存儲、SharedPreference(密碼、判斷)、SQLite(繼承SQLiteOpenHelper,生成SQLiteDatabase

對象來新建處理SQL語句,數據庫升級)、網絡存儲(上傳、下載)

10、自定義組件

兩種方式:include(標籤通常用merge);建立自定義控件(通常有響應按鈕時調用)

兩個主要方法measure和layout,要是自定義View,顯示時用setContentView

11、適配器

Drawable(.9圖片)、 Layout 、Values(dimen) 、Java代碼控制 、weight

12、開源框架、開源組件

框架:Volley 、xUtil 、okhttp、eventBus、Gson、festJson、imageloader、Picasso(獲取遠程圖片)、zxing(二維碼)

組件:pull2RefreshListView、SlidingMenu

十3、內存優化和程序優化

1.Android優化的佈局(使用merge標籤優化層級、不須要當即加載的佈局,設置爲GONE,系統會跳過,不加載、使用ViewStub 實現按需加載、ListView的優化)、

  1. 對內存的優化( 1.Reckon(計算)首先須要知道你的app所消耗內存的狀況,知己知彼才能百戰不殆 2.Reduce(減小)消耗更少的資源(BitmapFactory.Options設置inSampleSize, 這樣作能夠減小對系統資源的要求;若是對圖片沒要求能夠設置RGB_565(每像素佔2字節,默認的是ARGB_8888佔4個字節)opt.inPreferredConfig = Bitmap.Config.RGB_565;用Bitmap.recycle()方法來釋放Bitmap佔用的內存空間) 3.Reuse(重用)當第一次使用完之後,儘可能給其餘的使用 4.Recycle(回收)返回資源給生產流 5.Review(檢查)回顧檢查你的程序,看看設計或代碼有什麼不合理的地方。)
  2. 數據庫使用完成後要記得關閉cursor 4.廣播使用完以後要註銷
  3. 小tip: 避免建立沒必要要的對象最多見的例子就是當你要頻繁操做一個字符串時,使用StringBuffer代替String;避免使用枚舉,枚舉變量很是方便,但不幸的是它會犧牲執行的速度和並大幅增長文件體積;永遠不要在for的第二個條件中調用任何方法
相關文章
相關標籤/搜索