原创 輪播圖效果實現詳解

關於輪播圖的介紹有很多,但是在android裏,可以實現這個功能的方法並不多.這篇文章,就是對這些方法做個總結,算是一個記錄(有的方式,只介紹下思路,因爲我最終並不會採用)。 方式一: 使用 ViewFlipper ViewFlipp

原创 徹底解決Android6.0權限管理問題

       隨着Android版本的不斷更新,Google的Android開發人員也想到了Android應用在權限管理方面的各種問題,讓好多用戶摸不着頭腦就使用了用戶的隱私數據。 爲了在權限這方面加強管理,安卓平臺權限一直有被流氓應用

原创 Android FAB應用解析

概覽 浮動操作按鈕 (簡稱 FAB) 是: “一個特殊的promoted操作案例。因爲一個浮動在UI之上的圓形圖標而顯得格外突出,同時它還具有特殊的手勢行爲” 比如,如果我們在使用email app,在列出收件箱郵件列表的時候,

原创 Socket在Android開發中的應用

一、Socket通信簡介  Android與服務器的通信方式主要有兩種,一是Http通信,一是Socket通信。兩者的最大差異在於,http連接使用的是“請求—響應方式”,即在請求時建立連接通道,當客戶端向服務器發送請求後,服務器端才能向

原创 CoordinatorLayout初步應用

CoordinatorLayout簡介 CoordinatorLayout是在 Google IO/15 大會發布的,遵循Material 風格,包含在 support Library中,結合AppbarLayout, Collapsin

原创 淺析Java中的Parcelable和Serializable

在日常的應用開發中,我們可能需要讓某些對象離開內存空間,存儲到物理磁盤,以便長期保存,同時也能減少對內存的壓力,而在需要時再將其從磁盤讀取到內存,比如將某個特定的對象保存到文件中,隔一段時間後再把它讀取到內存中使用,那麼該對象就需要實現

原创 HTTP 2.0與HTTP 1.1區別

1、什麼是HTTP 2.0 HTTP/2(超文本傳輸協議第2版,最初命名爲HTTP 2.0),是HTTP協議的的第二個主要版本,使用於萬維網。HTTP/2是HTTP協議自1999年HTTP 1.1發佈後的首個更新,主要基於SPDY協議(

原创 Android inflater 應用分析

在實際開發中LayoutInflater這個類還是非常有用的,它的作用類似於findViewById()。不同點是LayoutInflater是用來找res/layout/下的xml佈局文件,並且實例化;而findViewById()是找

原创 IntentService初步應用和實例介紹

IntentService定義   IntentService繼承與Service,用來處理異步請求。客戶端可以通過startService(Intent)方法傳遞請求給IntentService。IntentService在onCr

原创 OkHttp的攔截器機制分析

1 概述 AOP 編程。每次的 proceed 是執行點,可以在執行點的前面和後面添加需要的業務邏輯。比如打打日誌,失敗重試,添加緩存等等。 攔截器就是基於責任鏈模式,每個節點有自己的職責,同時可以選擇是否把任務傳遞給下一個環節攔截器的設

原创 JavaGC算法介紹與分析

1.標記-清除算法 標記-清除算法(Mark-Sweep)是一種常見的基礎垃圾收集算法,它將垃圾收集分爲兩個階段: 標記階段:標記出可以回收的對象。清除階段:回收被標記的對象所佔用的空間。標記-清除算法之所以是基礎的,是因爲後面講到的垃圾

原创 深入分析ThreadPoolExecutor之二

概述 ThreadPoolExecutor 不是一個人在戰鬥。它的實現是有多個組件一起配合的。這裏做下對他們的身份,一些原理、機制等等做一個簡要說明。 這個是後面我們去理解 ThreadPoolExecutor 源碼的基礎。 Thread

原创 AS3.0 性能分析工具Profier使用總結

       在AndroidStudio3.0中,以前的 Android Monitor 不在了,取而代之的是Android Profiler,參照官方文檔學習了其使用方式,總結如下: 1:Android Profiler的使用流程

原创 AsyncTask——AsyncTask串行and並行

一、前言 AsyncTask,相信你不會陌生,也許你很幸運,早已瞭解了AsyncTask這個傢伙挖的坑,也許你已經被坑過了,也許你沒坑了,然而還沒有發覺。本次筆者將帶大家一起來看下AsyncTask這個坑是如何挖出來的。啥也不說啦,我們

原创 分析並比較Java幾種集合遍歷的方式

集合類的通用遍歷方式, 用迭代器迭代: Iterator it = list.iterator(); while(it.hasNext()) {   Object obj = it.next(); } Map遍歷方式:   1、通過獲取