原创 ViewGroup的touch事件:dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent
dispatchTouchEvent 18到24行,如果是ACTION_DOWN事件清除狀態,裏面有一句mFirstTouchTarget = null;這個變量很重要,後面會用到27到41行,對intercept變量進行處理,這個變量的
原创 Android EventLog各種標籤含義
Android EventLog各種標籤含義 1. Eventlog獲取 1. adb shell logcat -b events 可以獲取如下的event log 1. 02-13 11
原创 ArrayMap源碼分析
成員變量說明 private static final boolean CONCURRENT_MODIFICATION_EXCEPTIONS = true; //多線程操作判斷,值爲 true 時一些關鍵地方會進行判斷,如果有多線
原创 WatchDog源碼分析
看了一下watchdog的源碼總結一下 基本原理 HandlerChecker 是基本的檢測類,scheduleCheckLocked裏面會記錄開始時間並將minitor()檢測方法postAtFrontOfQueue到Loop的隊
原创 ReentrantReadWriteLock詳解及應用:緩存和大量數據併發訪問
1. 創建,兩種fair和unfair unfair:read和write鎖獲取依賴於Reentrancy規則,不存在先後順序 fair:各個線程按照時間順序進行鎖的獲取,當一個線程試圖獲取read鎖時,如果當前沒有線
原创 kernel日誌時間轉換函數
1. 原理說明:參考了這篇文章http://blog.csdn.net/transformer_han/article/details/24741605,但因其只對mtk平臺kernel log有效。qcom平臺kernel log無效。
原创 自定義progressBar
添加用於展示動畫的圖片,例如loading.png在drawable中添加旋轉動畫<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android
原创 安卓.9圖製作及使用
1. 使用場景 需要對背景圖片進行拉伸,且爲了最大程度保持原圖的效果,對圖片部分區域進行選擇性拉伸,以及內容填充 2. 使用方法 直接在AndroidStudio裏面使用或者在Android\sdk\tools的draw9patch.ba
原创 Handler、Looper與message消息機制
Handler 消息機制完整流程 Looper.prepare()//只能執行一次,初始化Loooer,將Looper與當前線程以及MessageQueue綁定,同一個線程只能有一個Looper實例,UI主線程默認執行過了創建hanler
原创 ConstraintLayout總結
具體使用方法參考郭霖的博客,有詳細說明http://blog.csdn.net/guolin_blog/article/details/53122387 1. 優點 1. 可視化拖動編輯 2. 配合
原创 java引用計數
http://zhangjunhd.blog.51cto.com/113473/53092/ http://thatmonkey.blog.51cto.com/7935609/1384463
原创 安卓SDK源碼調試
使用和SDK版本一致的源碼,運行環境也一致
原创 performDraw
初始化app後DecorView調用performTraversals(),執行完measure和layout後知道了view的ltrb(左上右下)座標信息,下一步就是執行performDraw進行繪製了performDraw中經過層層調
原创 ViewGroup的touch事件總結
每次touch動作都是先ACTION_DOWN然後ACTION_MOVE(可選)最後ACTION_UP,touch動作出發後首先activity接收到動作,然後從view的底層到上層進行dispatchTouchEvent遞歸傳遞,傳遞到
原创 android layout xml 佈局錯誤
使用AndroidStudio經常遇到佈局錯誤,不影響正常顯示,但是每次點擊佈局都會出現,遮擋視線,影響心情 Missing styles. Is the correct theme chosen for this layout?