編輯:關於Android編程
最近遇到個bug,在android連接藍牙設備後,程序異常退出(僅在部分nexus設備上出現)。
從logcat發現在JNI層報了一個錯(我的程序使用了JNI),
一路追上去發現程序的異常是因為activity的onDestroy被調用了。
這就好辦了,肯定是因為設備連接後,觸發了configChange,而程序又沒有正常處理這種情況。
檢查了一下AndroidManifest.xml,發現activity的configChanges屬性為
[plain]
android:configChanges="fontScale|keyboard|keyboardHidden|locale|orientation|screenLayout|uiMode|screenSize"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|orientation|screenLayout|uiMode|screenSize"幾乎包含了所有的configChanges,除了mcc, mnc, touchscreen, navigation, smallestScreenSize和layoutDirection。
其中mcc和mnc理論上不可能發生變化,因為我壓根兒就沒挪地兒;
touchscreen和navigation在android doc中都標識為“This should never normally happen”,所以暫時也不考慮;
而smallestScreenSize和layoutDirection理論上也不可能出現。
但除了configChanges導致activity重啟,實在想不到其他的可能性了。
於是將這幾個configChange逐一加入進行問題排查,最終發現是navigation導致的。
回想一下,我連接的是藍牙鍵盤,連接後確實導致了navigation的類型發生變化
因為連接藍牙鍵盤後,我可以使用方向鍵來navigate了。
讓人大跌眼鏡啊,實踐出真知,文檔不可信(android的文檔尤其如此)。
不過,這個問題只出現在手頭的部分nexus設備上,
還是可以理解的,畢竟設備的定位擺在那裡。
但鑒於nexus的設備普及率還是有一些的,仍然無法忍受這種碎片化的問題。
前言上一篇我們講到了EventBus3.0的用法,這一篇我們來講一下EventBus3.0的源碼以及它的利與弊。1.構造函數當我們要調用EventBus的功能時,比如注冊
##需求:個人界面的,個人頭像圖片的切換方式一:點擊開始切換頭像的pop–相冊選擇二:這裡有兩種方式,從相冊選擇和直接拍照,假設現在是從相冊選擇選擇頭像*我在
簡介在使用百度地圖SDK為您提供的各種LBS能力之前,您需要獲取百度地圖移動版的開發密鑰,該密鑰與您的百度賬戶相關聯。因此,您必須先有百度帳戶,才能獲得開發密鑰。並且,該
一、在JavaEE項目中搭建環境 1. 導入相關jar包 2. 搭建相關的包和類 UserDao: UserDaoImpl: JsonServlet