編輯:初級開發
如果細心的網友可能發現android Market客戶端載入時,每個列表項的圖標是異步刷新顯示的,但當我們快速的往下滾動到一定數量比如50個,再往回滾動時可能我們看到了部分App的圖標又重新開始加載,當然這一過程可能是從SQLite數據庫中緩存的,但是在內存中已經通過類似SoftReference的方式管理內存。
在Java中內存管理,引用分為四大類,強引用HardReference、弱引用WeakReference、軟引用SoftReference和虛引用PhantomReference。它們的區別也很明顯,HardReference對象是即使虛擬機內存吃緊拋出OOM也不會導致這一引用的對象被回收,而WeakReference等更適合於一些數量不多,但體積稍微龐大的對象,在這四個引用中,它是最容易被垃圾回收的,而我們對於顯示類似android Market中每個應用的App Icon時可以考慮使用SoftReference來解決內存不至於快速回收,同時當內存短缺面臨Java VM崩潰拋出OOM前時,軟引用將會強制回收內存,最後的虛引用一般沒有實際意義,僅僅觀察GC的活動狀態,對於測試比較實用同時必須和ReferenceQueue一起使用。
對於一組數據,我們可以通過HashMap的方式來添加一組SoftReference對象來臨時保留一些數據,同時對於需要反復通過網絡獲取的不經常改變的內容,可以通過本地的文件系統或數據庫來存儲緩存,希望給國內做App Store這樣的客戶端一些改進建議。
l 使用Intent物件雖然透過Intent並非最快速,但卻是最有彈性的。無論是同一進程或是跨進程的溝通都可以使用它。例如:/* ===== EX-02 ======
AppWidgetManager作為android平台上最主要的Widgets管理類,提供了更新AppWidget狀態,獲取已經安裝的Appwidget提供信息和其他的
本人嘗試,裡面提供得軟件在索愛x8上失敗了 提示說不能網絡共享 。看來自己編譯x8迫在眉睫啊 (有幸下載到了x8得源代碼。。。)--------------------
谷歌於去年12月底正式推出了Android 2.3姜餅系統,支持NFC近場通訊功能成為該系統最大亮點之一。今日,谷歌正式發布了android 2.3.3 SDK,實現了