原创 高德地圖:解決android系統在鎖屏條件下無法持續定位

目錄一、簡介二、實現步驟2.1創建AIDL文件2.2回調接口2.3定位服務實現 一、簡介 之前公司在app中以android5.0爲適用版本添加了軌跡功能用於記錄用戶健走路線。由於現在用戶手機系統普遍更新到android8.0甚至

原创 android:解決小米手機相機返回照片旋轉問題

背景 公司有一功能需要調用相機或者相冊,拍攝或者選擇照片先做展示然後上傳到服務器。但是提交測試的時候,測試小姐姐給我提了一個bug,描述爲拍照返回的照片向左旋轉90度展示。由於道長的測試機爲華爲的,當時並沒有發現問題,後來測試小姐

原创 android:Java垃圾回收機制

目錄一、簡介二、Jvm(Java虛擬機)內存模型1.堆內存模型三、垃圾回收機制1.可回收對象的判定2.垃圾回收算法3.觸發GC的類型 一、簡介 android 內存優化是一個程序猿永遠也避不開的話題。而要做android 內存優化

原创 android:越來越難實現的進程保活

目錄一、簡介二、進程被殺死的原因1.Android手機的進程回收策略2.killBackgroundProcesses殺死進程3.force-stop或kill殺死進程三、進程保活及分析Ⅰ.提升進程優先級的技術手段1.像素懸浮層2

原创 android bug: FileNoFoundExecption

問題現象 原代碼如下所示: if (ze.getName().contains(".gif")) { gifPath = Environment.getExternalStorageDire

原创 android bug:HttpURLConnection.getContentLength()返回爲-1

bug現象 使用HttpURLConnection下載圖片,發現有的圖片可以下載有的圖片無法下載。 bug原因 經過debug,發現工具類在下載前判斷文件大小,getContentLength()返回爲-1,中斷下載。如下所示:

原创 雙服務喚醒解決android系統在鎖屏條件下無法繼續定位

目錄一、簡介二、實現步驟2.1創建AIDL文件2.2回調接口2.3定位服務實現 一、簡介 之前公司在app中以android5.0爲適用版本添加了軌跡功能用於記錄用戶健走路線。由於現在用戶手機系統普遍更新到android8.0甚至

原创 android:冷啓動狀態下Splash界面拉伸問題解決

問題現象 爲了防止在app啓動時出現黑屏或者白屏問題。道長公司app選擇冷啓動處理。實現方式如下: 在styles文件中添加自定義主題 <style name="ThemeSplash" parent="Theme.A

原创 android Camera預覽界面拉伸問題解決

問題現象 項目中的掃一掃界面打開以後,掃描二維碼的界面顯示的二維碼被拉伸,圖片如下: 問題原因 通常,拍照預覽頁面的視圖拉伸主要與下面兩個因素有關: Surfaceview的大小 Camera中的Preview的大小 如果手

原创 android bug:找不到符號

bug:異常 編譯項目一直報找不到符號,如下所示: bug:原因 因爲我們項目是組件化開發,會出現文件的複製到其他module,如下所示: bug:解決辦法 刪掉導包,重新導入

原创 自定義控件:玩轉滾輪(柱狀圖、日期滾輪、刻度尺)

目錄一、簡介二、實現2.1 每個單元的滑動計算以及重繪 一、簡介 最近產品經理總想試一些新鮮東西,於是需求中就添加了一些自定義控件。好久沒寫過自定義控件了,之前道長也寫過一些自定義控件,詳見:《屬性動畫:如何自定義View》、《自定義

原创 android:聲音合成之TTS

一、簡介 android開發中還是需要播放許多音效,有些音效是以文字存在的。在android系統中集成了TTS(TextToSpeech),可以識別文字合成語音。今天道長分享一下TTS的簡單使用。 二、TTS的使用 TTS的初始化

原创 android:React Native混合開發初見

目錄一、簡介1.React Native的優點二、準備1.要求2.搭建開發環境2.1.安裝依賴三、創建新項目1.首先使用Android Studio創建一個新的項目2.在studio中的Terminal中輸入指令3.在項目根目錄下新建

原创 android:activity啓動模式見解

目錄一、簡介二、Using the manifest file1.standard2.singleTop3.singleTask4.singleInstance5.四種模式的區別三、Using Intent flags1.onNewI

原创 android:broadcast見解

目錄一、簡介1.使用場景二、BroadcastReceiver1.自定義BroadcastReceiver2.BroadcastReceiver註冊類型三、廣播發送及廣播類型四、不同註冊方式的廣播接收器回調onReceive(cont