原创 android文件與java IO

在操作系統級別,android運行在Linux內核之上,所以文件系統類似linux系統。 除了標準的java io庫之外,另外提供了更便捷的訪問應用文件和目錄的方法: 標準的java io庫詳見 https://developer.and

原创 Volly代碼閱讀筆記(一)

趁着最近有時間,讀了下volly的代碼,記錄下學習筆記,待後來者參考。 一、RequestQueue     private final Map<String, Queue<Request<?>>> mWaitingRequests =

原创 java集合包List、Set、Map總結

1、List   List包含ArrayList、LinkedList、Vector、Stack  需要注意到是Vector是基於synchronized實現的線程安全的arrayList,Stack繼承自Vector,提供了LIFO的彈

原创 指數退避算法exponential back-off algorithm

在很多場景下,我們都需要解決一些諸如輪訓這樣的問題。如果這樣的算法出現在app上,這種輪訓對於app性能和電量的消耗都是個巨大的災難,那如何解決這種問題呢? app在上一次更新操作之後還未被使用的情況下,使用指數退避算法exponent

原创 effective java中的單例模式創建實例

public class SynWithServer { private ScheduledExecutorService scheduler = null; private static class SingletonClassIn

原创 nonatomic,assign,copy,retain的區別

nonatomic:非原子性訪問,不加同步,多線程併發訪問會提高性能。如果不加此屬性,則默認是兩個訪問方法都爲原子型事務訪問。                     (atomic是Objc使用的一種線程保護技術,基本上來講,是防止在

原创 關於git中使用gitignore創建過濾規則的使用方法

在進行協作開發代碼管理的過程中,常常會遇到某些臨時文件、配置文件、或者生成文件等,這些文件由於不同的開發端會不一樣,如果使用git add . 將所有文件納入git庫中,那麼會出現頻繁的改動和push,這樣會引起開發上的不便。 G

原创 你瞭解Java中String的substring函數嗎?

Java中的substring函數是我們經常使用的一個函數,用來截取當前字符串的子串,定義如下: public final class String{ public String substring(int beginInde

原创 android中的線程使用與通信機制

1、android的所有應用程序組件,包括Activity、Service和BroadcastReceiver都在應用程序的主線程中執行,所有的耗時處理都可能阻塞其他組件,所以所有的耗時處理和IO操作都應該從主線程移到一個子線程中。常見的

原创 android NDK 使用JNI實現與原生代碼通信

1、關於原生代碼的聲明/*靜態native方法聲明*/ public static native String stringFromJni(); /*native方法聲明*/ public native String stringFrom

原创 object-c基於塊的遍歷方式

NSArray *anArray=/*...*/; [anArray enumerateObjectUsingBlock]: ^(id object,NSUInter idx,BOOL *stop){ // d

原创 HTTP Header 詳解

HTTP(HyperTextTransferProtocol)即超文本傳輸協議,目前網頁傳輸的的通用協議。HTTP協議採用了請求/響應模型,瀏覽器或其他客戶端發出請求,服務器給與響應。就整個網絡資源傳輸而言,包括message-heade

原创 關於android·圖片處理的集錦貼

1、Android高效加載大圖、多圖解決方案,有效避免程序OOM http://blog.csdn.net/guolin_blog/article/details/9316683 2、Android照片牆應用實現,再多的圖片也不怕崩潰 h

原创 ios中frame與bounds區別

在iOS開發中經常遇到兩個詞Frame和bounds,本文主要闡述Frame和bound的區別,尤其是bound很繞,很難理解。 一、首先,看一下公認的資料 先看到下面的代碼你肯定就明白了一些: -(CGRect)frame{