砍掉debug.keystore
Mac OS: ~/.android/debug.keystore
Windows XP: C:\Documents and Settings\{USER_NAME}\.android\debug.keystore
2011年4月28日 星期四
2011年4月25日 星期一
2011年4月21日 星期四
2011年4月20日 星期三
Android Camera Bugs
最近寫了幾個要用到鏡頭的程式,發現問題真是他喵的多!
最近歸納出幾個結論:
最近歸納出幾個結論:
- 相機鏡頭所在的Activity,務必將Request Orientation設為landscape。
- 有需要看起來是直的View,可用LayoutAnimation將View看起來轉為直的,只有看起來,因此在設計整個View的時候要特別想過。但是如果要將View作為直的就同時必須捨棄內建的元件(AlertDialog、Toast…等等),因為他們還是會顯示成landscape的樣子,所以就必須要自己刻。
Android APK For Download
將Content-Type設為application/vnd.android.package-archive
在Android手機上即可直接下載並且安裝
How To Stop Thread
boolean mFlag = true;
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
while(mFlag) {
...
//Working
...
}
}
});
thread.start();
Than set mFlag to false somewhere.
如果在Android中,Thread沒辦法停掉,則會造成一個Memory Leak
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
while(mFlag) {
...
//Working
...
}
}
});
thread.start();
Than set mFlag to false somewhere.
如果在Android中,Thread沒辦法停掉,則會造成一個Memory Leak
2011年4月19日 星期二
Android Change Heap Size
http://anemospring.blogspot.com/2011/01/howto-android-dalvik-maximum-heap.html
Android Avoding Memory Problem
參考網址:http://ttlnews.blogspot.com/2010/01/attacking-memory-problems-on-android.html
要避免在Android上噴出Out Of Memory(OOM),大致上有幾點要注意:
要避免在Android上噴出Out Of Memory(OOM),大致上有幾點要注意:
- 有使用Listener的話,要拿掉。文中是寫在onDestroy時拿掉(大概是在onCreate掛上的),不過我通常在onResume掛上,所以onPause就拿掉了。總之就是把握一個原則:把你掛的Listener在相對應的Life Cycle拿掉。
- 使用Drawable必須注意,當被加到View上時,會幫你設上一個Callback,請注意必須自己去清掉。不然會造成一個Leak在那邊,你的可用的記憶體就會越來越少,最後就Jizz了。
- 使用圖片時,經常需要Decode成Bitmap,如果是一張稍微大過手機最小解析度(240x320參考),那就應該考慮用先用BitmapFactory.Options將inJustDecodeBounds設為true來先Decode一次偵測圖片大小,再設定inSampleSize 縮到適合大小,再去真的Decode整張圖片n。事實上手機的解析度很有限,你把一張大圖直接塞進去也是要縮小,浪費記憶體去存大圖又容易狂噴OOM Exception
- 使用ListView Adapter,將getView傳進的convertView重複利用,既能減少記憶體的用量,也不會每次new一個新的View減慢速度。
- 將大的物件在onDestroy時設為null,或許可以加快GC選到的機會,但是如果還有其他Thread在跑,則很容易出現NullPointerException,請小心使用。
- 使用不屬於需要長時間存在的Thread必須能夠在Activity停掉時跟著停掉,不然會造成整個Activity無法被GC回收。
訂閱:
文章 (Atom)