線程+Handlerjava
xUtilsandroid
使用GSON,將JSON字符串轉換爲JavaBean對象。數據庫
備註:HttpClient在Android 6.0中已被移除,可是HttpUrlConnection仍然可使用。canvas
普通數據的緩存緩存
斷點下載性能優化
斷點上傳服務器
BroadcaseReceiver:網絡
Activity框架
Fragment異步
經常使用控件
- ListView:優化,局部刷新的重點是,找到要更新的那項的View,而後再根據業務邏輯更新數據便可。重寫updateItem方法,更新界面後,對應的數據也要更新,不然下次再滾動到該View的時候可能又還原了。
private void updateItem(int index) { int visiblePosition = listView.getFirstVisiblePosition(); if (index - visiblePosition >= 0) { //獲得要更新的item的view View view = listView.getChildAt(index - visiblePosition); // 更新界面(示例參考) // TextView nameView = ViewLess.$(view, R.id.name); // nameView.setText("update " + index); // 更新列表數據(示例參考) // list.get(index).setName("Update " + index); } }
- ViewPager:使用動畫就使用JazzyViewPager
- LinearLayout
- RelativeLayout
- FrameLayout
- PercentLayout
final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); // Use 1/8th of the available memory for this memory cache. final int cacheSize = maxMemory / 8; mMemoryCache = new LruCache<String, Bitmap>(cacheSize) { @Override protected int sizeOf(String key, Bitmap bitmap) { // The cache size will be measured in kilobytes rather than // number of items. return bitmap.getByteCount() / 1024; } };