原创 Android 程序在後臺保活

關於android進程: 1.前臺進程(Foreground process)  2、可見進程 3、服務進程 4、空進程 要避免被回收,首先就要提高進程級別。 在Android中,即使當用戶退出應用程序之後,應用程序的進程也還是存在於

原创 Android touch事件傳輸過程

一、先看看整理流程圖:二、事件從Framework層如何傳到UI進程實際上就是實際從 WindowManagerService 傳遞到ViewRootImpl層。我們在ViewRootImpl 可以看到這幾個屬性: InputCha

原创 JS 學習筆記-1

1、document.write() 僅僅向文檔輸出寫內容。如果在文檔已完成加載後執行 document.write,整個 HTML 頁面將被覆蓋。 2、查找HTML節點並賦值: document.findElementById("bt

原创 從IntentService談Android消息分發機制

1、創建線程 2、在線程開始運行的時候,通過Looper.prepare() 創建消息隊列。中間涉及到ThreadLocal,保證了該線程只能有一個Looper和一個消息隊列。 3、然後Looper.loop(); 開始了無限循環模式,不

原创 TCP/IP-學習筆記6-TCP協議

一、TCP協議 TCP提供一種面向連接的、可靠的字節流服務。在一個 TCP 連接中,僅有兩方進行彼此通信。 TCP 提供可靠性的方法: 應用數據被分割成TCP認爲最適合發送的數據塊。這和UDP完全不同,應用程序產生的數據報長度將保持不變。

原创 TCP/IP-學習筆記4-UDP協議

一、UDP 數據封裝   UDP數據長度= IP數據長度- IP首部數據長度 UDP提供不可靠性:它把應用程序傳給IP層的數據發送出去,不保證能否達到目的地。 源端口號:發送端的端口 目的端口號:接收方端口號 UDP長度:值爲UDP首

原创 TCP/IP-學習筆記5-DNS

一、什麼是DNS(域名解析) Internet上的計算機是通過IP地址來定位的,給出一個IP地址,就可以找到Internet上的某臺主機。而因爲IP地址難於記憶,又發明了域名來代替IP地址。但通過域名並不能直接找到要訪問的主機,中間要加一

原创 TCP/IP協議-學習筆記3-ICMP報文

目錄 一、報文結構 二、各種ICMP報文類型 2.1 查詢報文 2.1.1 回顯請求和應答 2.1.2 時間戳請求和應答 2.1.3 信息請求和應答 2.1.4 地址掩碼和應答 2.2 差錯報文 2.2.1 目的不可達 2.2.2 冷卻報

原创 TCP/IP 學習筆記-1

  一、網絡分層 以上爲TCP/IP協議的四個分層 每層大概功能: 鏈路層 : 又叫數據鏈路層或網絡接口層,通常包括設備驅動和網絡接口,處理物理接口數據。包含: ARP協議,地址解析協議 RARP協議,逆地址解析協議 網絡層:有時候又叫

原创 TCP/IP-學習筆記2 - IP網絡協議

一、引言 IP協議是TCP/IP協議族中最核心的協議。所有TCP、UDP、ICMP、IGMP都是以ip協議報文來傳輸。 IP協議不提供 可靠、和是否連接的狀態。   對於發生錯誤,ip協議直接丟棄該數據,然後發送ICMP消息給信源端。可靠

原创 Android View的加載流程

要說Android view加載流程,首先,我們需要清楚的理解什麼是View、Window、Activity 以及三着有着什麼樣的關係。一、什麼是Activity?看看源碼中對Activity的描述: * An activity is a

原创 Andoird-接入微信分享

轉載:http://www.cnblogs.com/ayanmw 重點說名:  1、對比使用微信推薦的apk獲取簽名值,發現微信的所謂簽名指的是keystore的MD5值並且去掉  ' :  '   。  並不是SHA1值。  使用命令行

原创 android app前後臺判斷

判斷是APP是否在後臺:public static boolean isAppInBackground(Context context) { ActivityManager manager = (ActivityMana

原创 Android View 繪製源碼分析

本篇文章主要內容是:詳細講述View的測量(Measure)流程從ViewRootImpl#performTraversals說起先來看看performMeasure(childWidthMeasureSpec, childHeightM

原创 從IntentService談Andoird消息分發機制

1、創建線程2、在線程開始運行的時候,通過Looper.prepare() 創建消息隊列。中間涉及到ThreadLocal,保證了該線程只能有一個Looper和一個消息隊列。3、然後Looper.loop(); 開始了無限循環模式,不斷從