雜項17



emulator 設置
http://hi.baidu.com/cell37/blog/item/d7b1e77a8bf797e20bd18759.html
設置 rom ram 
可以降低 emulator cpu 和 網速


09-07 05:17:09.016: ERROR/AndroidRuntime(388): java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@44f0bbd8






兩種GC
DEBUG/dalvikvm(385): GC_FOR_MALLOC freed 3390 objects / 248680 bytes in 71ms
DEBUG/dalvikvm(385): GC_EXPLICIT freed 5 objects / 128 bytes in 106ms
 




adb shell dumpsys meminfo > f:/meminfo.txt
c 盤訪問不了,
motodev dumpsys meminfo > f:/meminfo.txt 不行
用DDMS memory 分析太簡單不如不用。查看不了內存問題。
jhat EMA
adapter leak 
INSTALL_FAILED_INSUFFICIENT_STORAGE調試錯誤的解決
C:\Users\apple\AppData\Local\Temp
http://www.eclipse.org/mat/
debug 類
Android 內存使用hprof文件打開方法  
Android 內存泄漏調試 
http://kira.chen.popo.blog.163.com/blog/static/324553272011513102940843/
  總之當一個生命週期較短的對象A,被一個生命週期較長的對象B保有其引用的情況下,在A的生命週期結束時,要在B中清除掉對A的引用。




優化啓動的性能,直接實現,模擬實現。對於用戶來說只是個表象,總是可以用其他方法模擬,或者從界面上優化實現。Activity 的背景。所以換個思路模擬一下。






先去除單名字衝突當前配置的,然後按照優先級配置選擇,
如果有滿足優先配置的,再去除不滿足次級配置的,如果沒有的,再選擇滿足次級配置的。直到只剩下一個爲止。


假如是dpi ,可以選擇最接近的而不會去除。
所以 現在 hdpi 沒有,還可以找mdpi 的。


鬥地主 不穩定,網絡處理不適當,界面不友好。對延遲事件處理。


硬鍵盤中文輸入,只有下面的條。輸入法支持硬鍵盤。


http://winuxxan.blog.51cto.com/2779763/522810
http://www.blogjava.net/zhip/archive/2011/02/14/344258.html
  軟鍵盤的狀態 6 種 undefine ,unchange always hide visible 。why display 
adjust Unspecified ,resize pan (平移模式,不影響edit 遮擋,否則往上平移)
什麼時候全覆蓋,還是resize 。


Traversal 遍歷


alwaysRetainTaskState="true"  沒有效果,
newTask 也沒有效果 why




screenless DispatcherActivity


TabActivity tabwidget
Activity 集成 
tab 沒有封裝好,暴露的太多,優點就是比較靈活。
需要定義 tabhost ,tab widget 。應該自動加。




KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
鎖屏 ,黑屏。
直接關閉屏幕 power manager


onKeyLongPress 
理論上都可以攔截 除了 Home ,power 。   電話鍵可以攔截




QuickContactBadge badge 徽章


AdapterViewFlipper
home 鍵處理 不允許攔截
http://stackoverflow.com/questions/3898876/how-to-disable-home-key


換成480 的屏幕,因爲用 dp ,再縮放反而錯誤。


GestureOverlayView 一種用於手勢輸入的透明覆蓋層,可覆蓋在其他控件的上方,也可包含其他控件
http://blog.myspace.cn/e/408632816.htm
它用的自定義手勢庫,可以畫出來




自己手機 驅動安裝
先要安裝,或者從網上下載,或者豌豆莢之類自己安裝。自己安裝直接目錄裏面setup ,不是缺省的同步程序。
手機連接模式,調試模式往往沒有,有充電,加載,同步 等等。


an ordinary application itself.


Menu.FIRST + 1;定義使用範圍


setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);


Home activity


 startActivity(Intent.createChooser(pickWallpaper, getString(R.string.menu_wallpaper)));


調用 wallpaper 。
Home 可定製 ,是一個單獨程序,我們定製自己的可擴展桌面,launcher也可以定製,注意所有的 catogory 。都可以。
輸入輸出setWallpaper(stream);


http://blog.csdn.net/luoshengyang/article/details/6557518
在VMware 上面 install ubuntu ,然後 下載android 源代碼。編譯爲 三個 image 文件。system ,ramdisk ,userdata 。然後install 到 emulator 。
是否可以install 到 真機,刷rom ?


http://blog.csdn.net/luoshengyang/article/details/6567257
?Android的硬件抽象層,簡單來說,就是對Linux內核驅動程序的封裝,向上提供接口,屏蔽低層的實現細節。也就是說,把對硬件的支持分成了兩層,一層放在用戶空間(User Space),一層放在內核空間(Kernel Space),其中,硬件抽象層運行在用戶空間,而


Linux內核驅動程序運行在內核空間。爲什麼要這樣安排呢?把硬件抽象層和內核驅動整合在一起放在內核空間不可行嗎?從技術實現的角度來看,是可以的,然而從商業的角度來看,把對硬件的支持邏輯都放在內核空間,可能會損害廠家的利益。我們知道,Linux內核


源代碼版權遵循GNU License,而Android源代碼版權遵循Apache License,前者在發佈產品時,必須公佈源代碼,而後者無須發佈源代碼。如果把對硬件支持的所有代碼都放在Linux驅動層,那就意味着發佈時要公開驅動程序的源代碼,而公開源代碼就意味着把硬件的相


關參數和實現都公開了,在手機市場競爭激烈的今天,這對廠家來說,損害是非常大的。因此,Android纔會想到把對硬件的支持分成硬件抽象層和內核驅動層,內核驅動層只提供簡單的訪問硬件邏輯,例如讀寫硬件寄存器的通道,至於從硬件中讀到了什麼值或者寫了什


麼值到硬件中的邏輯,都放在硬件抽象層中去了,這樣就可以把商業祕密隱藏起來了。也正是由於這個分層的原因,Android被踢出了Linux內核主線代碼樹中。大家想想,Android放在內核空間的驅動程序對硬件的支持是不完整的,把Linux內核移植到別的機器上去時,


由於缺乏硬件抽象層的支持,硬件就完全不能用了,這也是爲什麼說Android是開放系統而不是開源系統的原因。


驅動,設備文件


android 目錄 總2G ,platform 1 G ,每個platform system.img  100 M


Android進程間通信(IPC)機制Binder簡要介紹和學習計劃




平板 WXgA 1280*800  XGA  1024*768 


刷機 


recovery ,fastboot 。
線刷,卡刷。 提權優先?
http://android.sj.91.com/content/2010-01-08/20100108001813905,1.shtml
http://android.sj.91.com/content/2009-07-28/20090728002305422.shtml


android 3 。
無鍵 ,狀態條在下面。


SimpleCursorAdapter  分了幾層。類似simple adapter 。
有個setCursorToStringConverter ,可以 用 url link 去處理 


如果可以重新 加載, 用文件保存狀態容易一點。多文件。


http://dohkoos.name/how-to-obtain-the-android-mobile-phone-model.html
如何獲取Android手機的型號
android.os.Build




反饋的時候,可以自動取系統的型號和版本 ,不用用戶填。
用戶可能對某張圖片有興趣想看大圖,但是用戶又不願意每次都去改設置裏面大小圖的缺省設置,我建議我們在瀏覽和上傳的時候,還可以讓用戶選擇在這次用大圖或者小圖。
網上有文章介紹 error report 功能 ,可以在系統崩潰的時候,把錯誤信息發到系統的網站,這樣就可以自動收集崩潰錯誤了,大部分用戶系統崩潰的時候,不原意填反饋信息的,我們也可以加上這個功能。




Setting 
get setting value
                    value = android.provider.Settings.System.getInt(activity.getContentResolver(),
                            Settings.System.SCREEN_BRIGHTNESS);
go to set screen 
Intent intent = new Intent(Settings.ACTION_SYNC_SETTINGS);
startActivity(intent);
無法改變 加一個setting 在 setting 。
http://stackoverflow.com/questions/2902564/adding-settings-to-settings
android.content.res.Configuratio




錯誤 堆棧




07-18 15:33:55.409: ERROR/AndroidRuntime(4597):     android.os.Looper.loop(Looper.java:123)


07-18 15:33:55.409: ERROR/AndroidRuntime(4597):     at android.app.ActivityThread.main(ActivityThread.java:4363)


07-18 15:33:55.409: ERROR/AndroidRuntime(4597):     at java.lang.reflect.Method.invokeNative(Native Method)
07-18 15:33:55.409: ERROR/AndroidRuntime(4597):     at java.lang.reflect.Method.invoke(Method.java:521)


07-18 15:33:55.409: ERROR/AndroidRuntime(4597):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)


07-18 15:33:55.409: ERROR/AndroidRuntime(4597):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)






http://blog.3gstdy.com/archives/545
用Android程序打開和關閉輸入法
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();


測試
2G 網絡 ,set wanet 。


沒有硬鍵,沒有辦法回退dialog ,dialog 要加close 。






發生錯誤的時候,應該也要把progress 關閉。 錯誤控制。


ListView 繪製 ,position 刷新問題,圖片切換 。




大家都知道這個ROM是最速度最快的,但是可用空間很小,我發現在DAF工具目錄下的flash.cfg中,有一行cache ya 40M,把他刪掉以後,重新刷機,可用空間便從98M變成了138M!速度也無減慢!


adjustPan 解決輸入框被輸入法擋住問題,顯性定義Activity adjustPan 模式(界面上移以保證輸入框不被輸入法擋住)


Listview 滾動速度
Scrool setfriction
listView1.smoothScrollByOffset(int viewPosition).


輸入法,定製setting  


smooth add in api 8 ,but can not found ? 。It is in abslistView 。
PositionScroller FastScroller


Fling 要的是速度。
Scrool 是距離 。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章