原创 緩存淘汰算法--LRU算法

原文地址:http://flychao88.iteye.com/blog/1977653 1. LRU 1.1. 原理 LRU(Least recently used,最近最少使用)算法根據數據的歷史訪問記錄來進行淘汰數據

原创 activity 生命週期

1.啓動Activity:系統會先調用onCreate方法,然後調用onStart方法,最後調用onResume,Activity進入運行狀態。 2.當前Activity被其他Activity覆蓋其上或被鎖屏:系統會調用onPau

原创 從源代碼分析Android-Universal-Image-Loader的緩存處理機制(強力推薦)

講到緩存,平時流水線上的碼農一定覺得這是一個高大上的東西。看過網上各種講緩存原理的文章,總感覺那些文章講的就是玩具,能用嗎?這次我將帶你一起看過UIL這個國內外大牛都追捧的圖片緩存類庫的緩存處理機制。看了UIL中的緩存實現,才發現其實這

原创 okhttp

對okhttp的封裝類,okhttp見:https://github.com/square/okhttp. okhttp的輔助類 http://blog.csdn.net/lmj623565791/article/details/47

原创 Android事件分發機制完全解析,帶你從源碼的角度徹底理解(上)

   其實我一直準備寫一篇關於Android事件分發機制的文章,從我的第一篇博客開始,就零零散散在好多地方使用到了Android事件分發的知識。也有好多朋友問過我各種問題,比如:onTouch和onTouchEvent有什麼區別,又該如

原创 快速排序算法

 快速排序算法是基於分治策略(分治策略是對於一個規模爲n的問題,若該問題可以容易地解決(比如說規模n較小)則直接解決,否則將其分解爲k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞歸地解這些子問題,然後將各子問題的解合併得到

原创 Activity的四種加載模式

在多Activity開發中,有可能是自己應用之間的Activity跳轉,也有可能夾帶其他應用的可複用的Activity,可能會希望跳轉到原來某個Activity實例,而不產生大量重複的Activity。這需要爲Activity配置特定的

原创 單例模式

概念:  java中單例模式是一種常見的設計模式,單例模式的寫法有好幾種,這裏主要介紹三種:懶漢式單例、餓漢式單例、登記式單例。  單例模式有以下特點:  1、單例類只能有一個實例。  2、單例類必須自己創建自己的唯一實例。  3、單例

原创 給 Android 開發者的 RxJava 詳解

前言 我從去年開始使用 RxJava ,到現在一年多了。今年加入了 Flipboard 後,看到 Flipboard 的 Android 項目也在使用 RxJava ,並且使用的場景越來越多 。而最近這幾個月,我也發現國內越來越多

原创 Android推送技術研究

前言 最近研究Android推送的實現, 研究了兩天一夜, 有了一點收穫, 寫下來既爲了分享, 也爲了吐槽. 需要說明的是有些東西偏底層硬件和通信行業, 我對這些一竅不通, 只能說說自己的理解. 爲什麼要研究Android推送技術? 主要

原创 Android 之窗口小部件高級篇--App Widget 之 RemoteViews

Android 之窗口小部件高級篇--App Widget 之 RemoteViews   在之前的一篇博文( Android 之窗口小部件詳解--App Widge t)中,已經介紹了App Widget的基本用法和簡單實例。這篇

原创 Java中Synchronized的用法

《編程思想之多線程與多進程(1)——以操作系統的角度述說線程與進程》一文詳細講述了線程、進程的關係及在操作系統中的表現,這是多線程學習必須瞭解的基礎。本文將接着講一下Java線程同步中的一個重要的概念synchronized. s

原创 Android事件分發機制完全解析,帶你從源碼的角度徹底理解(下)

記得在前面的文章中,我帶大家一起從源碼的角度分析了Android中View的事件分發機制,相信閱讀過的朋友對View的事件分發已經有比較深刻的理解了。 還未閱讀過的朋友,請先參考 Android事件分發機制完全解析,帶你從源碼的角度徹

原创 AppWidgetProvider使用介紹

一 介紹 AppWidgetProvider是android中提供的用於實現桌面小工具的類,其本質是一個廣播,即BroadcastReceiver。下面是類的繼承關係。 所以,在實際的使用中,把AppWidgetProvider當

原创 android中Invalidate和postInvalidate的區別

Android中實現view的更新有兩組方法,一組是invalidate,另一組是postInvalidate,其中前者是在UI線程自身中使用,而後者在非UI線程中使用。 Android提供了Invalidate方法實現界面刷新,但是I