原创 使用intellij生成jar包同時打包依賴的第三方包

使用intellij生成jar包同時打包依賴的第三方包 1.打開java工程的moudle settings。一次點擊artifacts,點擊“+”選擇jar ,選擇from moudles with dependencies 2.

原创 LocalBroadcastManager原理解析

最近看到阿里巴巴的android手冊中提倡應用內用LocalBroadcastManager來發送本地廣播。所以就分析一下其源碼。 單例模式 public static LocalBroadcastManager getInstanc

原创 算法(四)

順時針旋轉矩陣 [[1,2,3],[4,5,6],[7,8,9]],3 返回:[[7,4,1],[8,5,2],[9,6,3]] for i 0->n-1(代表列) for j n-1->0(代表行) a

原创 開發中常用的adb命令

允許adb debugging需要在手機中進行設置(開發者選項中) 使用無線連接設備 讓手機和電腦連接同一個網絡,先使用usb線連接手機,然後電腦終端設置手機在5555端口監聽tcp(adb tcpip 5555),使用adb co

原创 算法(3)

壓縮字符串比如fffff壓縮成5f 預判斷下一個字符是否與前一個相等,如果相等則進行計數,不等則直接放到新的數組中,注意判斷計數值是否大於1來判斷是否字符重複。還要記得將計數器的值還原 public String compressCh

原创 AnimationDrawable

儘量不要使用 AnimationDrawable,它在初始化的時候就將所有圖片加載到內存中,特別佔內存,並且還不能釋放,釋放之後下次進入再次加載時會報錯。 說明: Android 的幀動畫可以使用 AnimationDrawable 實現

原创 基本排序算法

二分查找 public class BinarySearch { public int binarySearch(int[] a,int result) { int len=a.length;

原创 java詳解單例模式

簡介 單例模式要求某個類只有一個實例變量。只有類提供了一個接口來獲得類的唯一實例。所以不允許用戶來創建實例。可想而知,類的構造函數只能由類本身來調用。所以類構造函數是private的。因爲構造函數是private的。上面提到的獲得類的唯

原创 Services

services是一種可以長時間在後臺運行並且不與用戶交互的一種組件,其他的應用組件可以開啓一個service,並且這個service會一直在後臺運行即使用戶切換到其他的應用。另外一個組件可以bind to service來和它交互甚至

原创 字符相關算法

字符串全組合 使用位圖0代表該字符不出現,1代表該字符出現 public void Combinatin(char[] a) { int len=a.length; int n=0;

原创 java enum詳解

enum enum是jdk1.5引入的概念。enum類型的值實際上是通過運行期構造的對象來表示。在定義enum的時候編譯器會默認幫我們做些事: 所有的枚舉類會默認繼承Enum(Enum默認實現 Comparable 和 Serial

原创 別人總結的android學習資源彙總

優秀的網站 google官方培訓文檔 codekk開源項目分析 代碼零件 優秀的技術閱讀網站 掘金 開發技術前線 開發者頭條 android開發週報 csdn的android知識庫 segmentfault github上的資源

原创 app卡頓檢測原理以及blockcanary源碼分析

App檢測卡頓的原理 自定義Looper中的printer public static void loop() { final Looper me = myLooper(); if (me == n

原创 java線程研究

線程的狀態 創建狀態:準備好了一個線程對象 就緒狀態:調用了start()函數,等待cpu的調度 執行狀態:運行了run()函數 暫停狀態:暫停執行任務,可能交出cpu資源 終止狀態:線程被銷燬 一些常用的函數 Thread類

原创 使用gradle來編譯生成apk

:簡介 gradle基於groovy語言,跟maven相似,是一種依賴管理工具。 androidstudio項目中的gradle 每個moudle下會有一個build.gradle文件,算是項目中最主要的gradle文件 //表明