原创 深入理解單例模式:靜態內部類單例原理

本文主要介紹java的單例模式,以及詳細剖析靜態內部類之所以能夠實現單例的原理。OK,廢話不多說,進入正文。      首先我們要先了解下單例的四大原則:      1.構造私有。      2.以靜態方法或者枚舉返回實例。      3

原创 Android 你應該學會的設計模式MVP

原文地址點這裏   MVP大家最先想到的應該是LOL和CF裏面的MVP榮譽吧,玩過的應該都知道指的是Most-Valuable-Player(全場表現最佳DE遊戲玩家) 以前也經常玩,平常凌晨一兩點,週末凌晨三四點,想想那段時間還是挺瘋的

原创 view 的onDraw過程源碼分析及應用

上一節我們講了view 的擺放過程,接着上節講講onDraw view的繪製過程,這個方法在平時開發過程中使用的機率還是比較高的,有必要深入的瞭解下。 講解順序: 1.控件繪製原理分析 2.onDraw 中繪製基本圖形及文字 3.繪製路徑

原创 webView 中js保存cookie後立即殺掉進程後重啓無法獲取保存的cookie

首先說下爲啥會產生這個問題,其實瀏覽器是有一套緩存機制的,在android中,我們可以指定webview 的緩存路徑,默認是在 data/data/包名/app_webview/Cookies  文件,cookies就是cookie存儲的

原创 view 的onLayout過程源碼分析及應用

上一節我們講了view 的測量過程,接着上節講講onLayout view的擺放過程。 講解順序: 1.控件擺放原理分析 2.原生控件源碼擺放過程分析 3.如何在自定義的viewGroup中根據需求擺放控件 1.控件擺放原理分析 首先說控

原创 view 的測量過程源碼分析及應用

講解過程: 1.測量方式分析,比對不同測量模式的差異,包括應用分析。 2.分析源碼中view的具體繪製流程 3.測量的實際應用   1.測量方式分析,對不同測量模式的差異,包括應用分析。 說起測量我們最直觀和常見的是onMeasure方法

原创 AsyncTask使用及實現原理 二

AsyncTask是如何更新進度 上一篇我們講了AsyncTask 的基本使用及原理分析,但是篇幅有點長了,最後沒有介紹在執行異步任務時是如何更新進度的。這篇我們接着上一篇繼續介紹AsyncTask是如何跟新進度的。 在這之前我們先來介紹

原创 AsyncTask使用及實現原理

講解順序: 1.AsyncTask簡單介紹 2.主要方法及作用 3.應用與使用 4.實現原理分析 1.AsyncTask簡單介紹   AsyncTask是開發中常用的異步實現工具,又因爲其無需再通過Handler 更新ui ,所以使用起來

原创 Android 子線程中更新UI的幾種方法 及原理

在開發中我們經常會遇到在子線程中更新ui的操作,那我們今天就介紹下幾種常用的方式  1.使用 runOnUiThread方法更新ui   2.view.post 方法  3.view.postDelaged 方法  4.handler.s

原创 Android--進程常駐--只說有用的

這個話題,網上很多,並且列出了一大堆,把各種可能猜測都搞了一遍,結果結論不明確,很多都是不了了之,我們要的是一個確實可以實現的方案,說那麼多,到最後貼出來的代碼很容易就被殺了,沒用的,本文我只講我覺得可以作爲實際運用的方案,其他的就不多提

原创 Android 進程間通信Service 兩種實現方式 AIDL 、Messenger

這篇我們講下如何使用service實現進程間通信 。通常講到這裏大家都會想到aidl,其實不然,aidl只是其中的一種方式,並且使用起來,我個人感覺太不靈活了,相對Messenger更加靈活。 整個過程我們還是藉助於 Activity 跨

原创 Android 多屏幕適配方案

最近稍微有點時間,整理下先前寫的一個工具,發現還是很有用的,就想分享一下,希望能給大家帶來幫助, 廢話不多數,直接上代碼,之後再說原理。 public class MakeXml {     private final static St

原创 Android 進程間通信 BroadcastReceiver

進程間通信,廣播接收者,這個我們經常會用到,比如檢測網絡變化,這個還是比較實用的,但是如何實現,其實很簡單,那我們就開始吧。 藉助於之前activity 通信的demo 我們繼續。Activity 跨進程通信 這個比較簡單我們一切從簡,如

原创 android 進程間通信Activity

Activity跨進程調用其實很常見,比如在第三方sdk中的分享,授權登錄等,如果我們有多個應用包相互調用共享activity 是要用到的。 1.新建項目,用於被調用 主activity 爲 ReceiveActivity 2.註冊act

原创 setOnTouchListener onTouchEvent setOnLongClickListener setOnClickListener 執行順序及源碼分析

1.先說 setOnClickListener   setOnTouchListener   onTouchEvent  1. 1先看運行結果  :   MyViewGroup-->dispatchTouchEvent-->ACTION_