原创 關於WebView 全屏沒有執行JS的問題

最近在使用WebView的時候,遇到了一點小問題: 在使用WebView的時候,如果WebView的大小比較大,橫屏狀態,然後使用JavaScript去繪製動畫,發現,js會被延遲調用,就是,比如當前我從長連接獲取到數據,調用繪製100次

原创 016.View的測繪基礎MeasureSpec

在學習onMeasure方法前,首先要掌握MeasureSpec這個類。MeasureSpec 主要是通過父容器的LayoutParams上的規則生成的,它影響到了測量的時候View的寬高。 1.閱讀MeasureSpec源碼 下面開始

原创 8.Binder詳解

8.1 Binder 簡介。          Binder,英文的名稱是別針、回形針。現實中,我們經常會用回形針把紙張別起來,而在Android中,Binder是用於進程通信,它負責把不同的進程“別”起來,使得不同進程可以一起工作。比

原创 018.View的Measure過程

在前面的文章中,我們說過,View的三大流程包括:measure過程、layout過程、draw過程。在這邊,我們將開始學習View的Measure過程。     首先,我們從根視圖開始看,也就是ViewRootImpl開始入手,根視圖的

原创 015.ViewRoot和DecorView

    學習工作原理的話,首先要知道View有三大流程,測量流程、佈局流程、繪製流程。之後再學習一些常見的回調方法,這樣在我們寫自定義View的時候,就能更加得心應手了。      1.ViewRoot:     ViewRoot對應

原创 023.PendingIntent 概述

   PendingIntent表示一種待定、等待、即將發生的意圖,就是說接下來有一個Intent 將在某個條件下在某個時刻發生。因此PendingIntent和Intent的區別在於,Intent是立即發生的,而PendingInten

原创 13.View的事件分發機制——dispatchTouchEvent詳解

 在前面的第二篇文章中,我們提過,View的事件分發是一種委託思想:上層委託下層,父容器委託子元素來處理這個流程。接下來,我們就將深入去學習View的事件分發機制。 1.事件的傳遞流程     事件,在Android中對應的類是Mot

原创 017.View與窗口:AttachInfo

  每一個View都需要依賴於窗口來顯示,而View和窗口的關係則是放在View.AttachInfo中,關於View.AttachInfo的文章少,因爲這個是View的內部類而且不是公共的,在應用層用的很少,只有在ViewRootImp

原创 啓動模式:singleTask 不是 Intent.FLAG_ACTIVITY_NEW_TASK!

今天實驗了一下 Intent.FLAG_ACTIVITY_NEW_TASK  和singleTask 結果發現了一些問題,在這邊記錄一下: 1.現在有ActivityA ,和Activity B ,在XML中 沒有指定launchMo

原创 12.View的滑動

1.scrollTo和ScrollBy     爲了實現滑動,View提供了兩個方法來讓我們實現這個功能,那就是scrollTo和scrollBy方法,     scrollTo的方法如下:      /** * Set the

原创 10.Binder進階:系統服務中的Binder

10.1 Binder與SystemService     在我們編寫APP程序的時候, 經常會是用getSystemService(  String serviceName ) 這個方法,來獲取一個系統的服務對象。我們查看源碼:    

原创 11.View的基礎知識

1.View簡介     View是Android中所有控件的基類,不管是簡單的Button、TextView還是複雜的ListView、GridView什麼的,都是直接或者間接繼承View。因此,View是界面層的控件的一種抽象。除了V

原创 019.View的layout過程

 View的Layout過程,也就是佈局子元素的過程,ViewGroup通過這個過程來確定子元素的位置,當ViewGroup的位置被確定了以後,就會在onLayout中遍歷所有的子元素並且調用這些元素的layout方法,在layout方法

原创 7.Serializable和Parcelable

Serializable和Parcelable接口可以完成對象的序列化過程,當我們需用使用Intent 和Binder 傳輸數據的時候,就需要使用到Parcel和Serializable.而有時候,我們需要持久化數據、或者是傳輸數據到網絡