原创 Android studio依賴包aar的使用

aar和jar包的區別: aar可以包含資源文件,例如drawable、layout等。所以可以把資源文件一起放入aar包中複用,在弄一些會使用到這些資源文件的,如自定義控件的時候就會十分方便。   將module配置爲aar文件: 首先

原创 使用addr2line對JNI的Crash堆棧信息分析

目的:使用addr2line對庫中的崩潰定位到具體的代碼行 步驟: 1.獲取崩潰產生的記錄堆棧信息的墓碑文件tombstone *** *** *** *** *** *** *** *** *** *** *** *** *** **

原创 【Android 10】深色主題

我們一直以來使用的操作系統都是以淺色主題爲主的,這種主題模式在白天或者是光線充足的情況下使用起來沒有任何問題,可是在夜晚燈光關閉的情況下使用就會顯得非常刺眼。 於是,許多應用程序爲了能夠讓用戶在光線昏暗的環境下更加舒適地使用,會在應用內部

原创 Android aar打包和jar打包

jar包和aar包的區別 jar:內含“assets",“com”,“META-INF”,裏面只包含class文件和清單文件,不包含資源文件,如res下的文件。 aar:class以及res下的所有的資源文件。必定包含AndroidMan

原创 代碼混淆和aar包遇到的坑

1.aar包是不嵌套aar包的,所以當我的項目中引用了別人的aar,而我又需要向其他人提供我的aar的時候,就出現了aar嵌套,而aar是不包含aar包的,所以解決這個問題:  ①我給客戶提供我的aar和我引用的別人的aar。  ②將別人

原创 api 與 implementation 的區別

gradle 從 3.4 開始,compile 已經被廢棄了,取而代之的是 api | implementation,倆個我們都可以用,但是肯定還是有區別的: api - 本地依賴時依賴不隔離,但是編譯慢 implementation -

原创 thread導致的內存泄漏實例——爲什麼使用靜態內部類避免內存泄漏

背景:有個數據庫處理類,包含一個thread負責對數據庫進行寫入(耗時操作)。該thread在某個fragment中會被重新初始化並開始。   private void updateBookShelf() {

原创 android webview js交互

最近做的項目中有android和h5交互部分 總結如下 一、android調用h5方法  在Android端主要使用WebView來進行網頁的加載,設置屬性 // 獲取WebSetting對象 WebSettings webSettin

原创 FragmentStatePagerAdapter和FragmentPagerAdapter的區別

對於銷燬一個fragment FragmentStatePagerAdapter: public void destroyItem(@NonNull ViewGroup container, int position, @NonNull

原创 http get和post的區別

什麼是http? get、post常見的區別 get和post不同點的誤區 附錄常見的http狀態碼     1.什麼是http 這裏只是簡單概述一下,更多詳情可以參見: 基於tcp/ip、一種網絡應用層協議、超文本傳輸協議HyperTe

原创 Fragment not attached to a context

源碼: /** * Return the {@link Context} this fragment is currently associated with. * * @throws IllegalSta

原创 設置圖片縮放方法失效 解決辦法設置android:scaleType屬性

使用matrix.setScale()方法設置縮放失效,界面沒有效果 Matrix matrix = new Matrix(); PointF midPoint = new

原创 使用有效負荷payloads優化RecyclView性能 避免不變部分閃屏

  如圖示的相冊功能,需求是通過實體按鍵上下左右選擇或者點擊選擇的時候,被選中的item顯示藍色外邊框。實現後發現被選中item和取消選中的item有閃屏現象。   解決辦法,重寫onBindViewHolder(ViewHolder

原创 Exifinterface圖片擴展信息EXIF

  一、ExifInterface類給我們了一個實用的方法publicbyte[]getThumbnail()這個方法可以生成一個縮略圖,返回一個字節數組,我們通過以前講到的通過OutputStream將其保存成一個JPG文件。當然如果要

原创 getMeasuredHeight獲取控件高度爲0

獲取控件高度的時候我們用到getMeasuredHeigh()t和getHeight(),他們兩個的區別就是getHeight獲取的是屏幕內的高度,而getMeasuredHeigh()獲取到的是控件實際的高度,即使是在屏幕外邊。   在