編輯:關於Android編程
在android開發中只要是列表式風格界面我們幾乎都需要用到List來存放數據,在數量很少的List的話幾乎任何一種循環遍歷方式整體性能都無差別,但是當我們遇到數據量稍大的時候有必要考慮用哪種方式寫起來比較高性能。
常見的有以下三種:
第一種
for (String s : tests) {
// ....
}
第二種
int size = tests.size();
for (int i = 0; i < size; i++) {
tests.get(i);
}
第三種
Iterator it = tests.iterator();
while(it.hasNext()) {
it.next();
}
采用以上三種在數據量少於等於100的情況下幾乎輸出時間都為0,當在1000左右的時候第三種稍微慢在1ms左右<可能在當時的環境原因>可以說三種方式也是沒差別,當數據量在10000左右我們就能看到區別了第一種和第三種差不多要4ms而第二種只要2ms,當數據量在100000左右的話第一種差不多要40ms,第二種17ms,第三種33ms。
Android5.0 -> Nexus5手機環境下的測試結果,Google以下資料顯示在非JIT的情況下其實第一種是最快的,但是在Android環境下還是采用第二種才是最佳性能選擇。
在閻宏博士的《JAVA與模式》一書中開頭是這樣描述狀態(State)模式的: 狀態模式,又稱狀態對象模式(Pattern of Objects for States)
AIDL概述但用Messenger實現的IPC存在一點不足:Service內部維護著一個Messenger,Messenger內部又維護著一個Hanlder,當多個cli
前言:在日常的Android開發中會經常和控件打交道,有時Android提供的控件未必能滿足業務的需求,這個時候就需要我們實現自定義一些控件,今天先大致了解一下自定義控件
Android上在兩個Activity之間傳遞Bitmap對象因為我做Android應用的時間不長,所以當我第一次在android之間傳遞Bitmap對象的時候我直接用了