原创 adapter優雅的實現方式

最近博主在前人留下的代碼當中發現到了adapter和viewhodler的實現方式,覺得很優秀,比自己實現的優雅很多,感覺自己以前的實現真的非常的醜陋,現分享一下。 1.去掉ViewHolder listview是個很常用的控件,

原创 Android FBE學習筆記

1.FBE和FDE FBE:Full-Disk Encryption 全盤加密 BDE:File-Based Encryption基於文件的加密 2.適配FBE 2.1存儲位置 ce默認存儲位置(user/0):用戶解鎖後纔可以使

原创 Vcard踩坑記錄

問題背景 遇到這樣一個問題,生成的vcard不能被微信識別,查找這個問題的過程中發現生成的vcard字符串出現了錯誤。 生成錯誤的vcard字符串如下所示: 正確的應該是: 對比兩張圖片可以看出,結束字符串“END:VCARD

原创 修復內存泄漏而引發的FC

問題背景 樓主最近在解決一個內存泄漏問題的時候,不小心引入了FC, 事情是這樣子的,最近測試測出來了一個內存泄漏,然後根據log指向,其實就是一個單例持有了activity,所以導致了內存泄漏。 其實解決方式特別簡單,只需要將cont

原创 利用github實現私人maven庫

一直想要將自己的代碼上傳到jcenter上面,這樣引用的時候直接將build.gradle文件配置一下就可以了,很方便。 但很無奈,國內的網絡不行,搗鼓了很久也搗鼓不出來,於是就想到利用github製作一個maven庫,也能夠實現我想

原创 AspectJ處理重複點擊過快點擊事件

在開發的過程中,我們常常會遇到這樣的需求,當用戶過快的點擊按鈕時,只響應一次點擊事件。 通常的做法是用一個變量記錄上次點擊的時間,然後取當前的時間和上次的點擊時間的差值,只有大於預定的時間纔會響應。 以下是我的幾種實現方法,包括兩類,

原创 AndroidStudio優雅的導入android源碼

最近在使用AS查看源碼的時候發現各種卡,卡得都無法編輯,特別噁心。然後搗鼓了一番,終於比較流暢了,能愉快的看代碼了。現把這些過程記錄下來,分享給有需要的人。 我的電腦配置如下: 操作系統:Ubuntu cpu:3.4GHz × 8

原创 加載巨圖

加載巨圖 問題: 遇到過這樣一個問題,加載一張巨圖,例如10萬×10萬的圖,不能壓縮,如何避免產生內存溢出。 思考: 首先,看到這個問題之後,可以確定的是,一定不能夠直接將圖片加載到內存當中,否則一定會內存溢出; 其次,最容易想到的就

原创 線程安全二

在保證線程安全的時候,除了synchronized和lock,也需要用到其他的一些關鍵字,可以針對不同的場景使用。 1.final 使用final修飾變量,表示變量只能被賦值一次,賦值之後值不再改變,因此使用final修飾基本數據類型

原创 線程安全一

說起線程安全,我們第一時間想到的就是加鎖,通過鎖來保證同一時間只有一個線程訪問。最常使用的就是synchronized和lock關鍵字,以下是我對於使用這兩個鎖的一些總結。 synchronized 1.鎖的對象 我們先來看下面這一段

原创 鏈表

鏈表是一種非順序的數據結構,在面試當中經常被問到,本篇將會討論幾個常見的關於鏈表的算法題。 首先定義鏈表的節點和算法當中需要用到的工具函數。 java版本 //節點 public class Node { public int

原创 onSaveInstanceState問題分析

產生的現象 我們在測試app的時候,有時候會碰到這樣的問題”java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState”,具

原创 APP組件化

組件化 最近做的一個項目,從一開始就在趕進度,所以沒有仔細的去考慮架構的事情,然後在增加新的業務的時候,發現代碼越來越臃腫,很難進行並行開發,模塊與模塊之間耦合嚴重,因此就想徹底的重構一下代碼。 重構的步驟 1.組件化 重構的目標:各個組

原创 Ubuntu下無法啓動Android虛擬機錯誤

錯誤描述 無法啓動Android虛擬機,在AndroidStudio當中也無任何的錯誤信息打印。 debug 1.首先猜想是否是虛擬機所需要的內存太大,而內存不足以滿足虛擬機,因此無法啓動。 所以可以將虛擬機所需的內存改小,看是否能

原创 eclipse項目輕鬆導入AndroidStudio

簡介 很多老的項目是採用eclipse開發的,其中的文件結構和AS都不一樣,因此不能夠直接將其導入到AS中,以下方法是利用build.gradle文件,手動指定對應的文件目錄,使得AS可以識別,同樣eclipse也可以識別。 轉換方法 1