原创 EventBus 3 使用

Is what基於觀察者模式的事件發佈/訂閱框架。通過極少的代碼實現模塊間的通信,無須層層傳遞。使用方便,性能高,接入成本低,降低耦合,支持多線程的優點。流程圖3.0 新特性在EventBus 3.0版本中引入了 EventBusAnno

原创 【SDK熱更系列】Android Hook 技術之 繞過系統對Activity驗證

【SDK熱更系列】Android Hook 技術之 繞過系統對Activity驗證 前言:我爲啥要搞這玩意兒呢?原因如下: 1. 需求,還是xxxx的需求問題 2. 公司主要的SDK項目需要實現SDK級別的熱更新功

原创 Android AccessibilityService 應用之微信搶紅包外掛

技術詳述 一開始大家都會覺得做一個Android外掛會汲取很多東西或者底層的東西,但當發現Android裏有一個叫AccessibilityService的服務時,一切都變得很簡單。 關於AccessibilityService

原创 Android應用瘦身

APK瘦身的價值APK瘦身嚴格來講不算是對應用性能的優化,應該算是對程序體驗的優化。APK瘦身的價值主要有幾點:省流量:特別是在4G網絡下,更多的移動流量表示需要花費更多的錢(別指望着用戶一個月1、2G的流量專門給你騰出幾十M來用於下載安

原创 Android開發之如何保證Service不被殺掉

序言 最近項目告一段落,想起之前公司同事遇到一個問題:運行後,要有一個service始終保持在後臺運行,不管用戶作出什麼操作,都要保證service不被kill。我查了下網上的資料整合了下自己的經驗,作出如下解答: 這是Andro

原创 LeakCanary 中文使用說明

LeakCanary Android 和 Java 內存泄露檢測。 “A small leak will sink a great ship.” - Benjamin Franklin 千里之堤, 毀於蟻穴。 -- 《韓非子·喻

原创 (仿360卸載後彈窗)Android卸載程序之後跳轉到指定的反饋頁面

想起360被卸載之後會跳轉到指定的反饋頁面,是怎麼弄的?就百度了一下,果然網上似乎有相關的問題的解答,這裏就將他們的步驟在細化一下了: 其實這個問題的核心就在於:應用被卸載了,如果能夠做到後續的代碼邏輯繼續執行 我們再來仔細

原创 Android N:開發者應注意什麼?

Android 6.0這個棉花糖可能很多人還沒嚐到呢,但不管怎樣,Android N還是要來了。Android N發佈時間線新的Android系統帶來了很多新特性:多窗口支持通知欄直接回復通知分組Doze模式2.0在關注這些新特性的同時,

原创 奇酷360 手機中怎麼跳轉安全中心中指定包名App的權限管理頁面

在處理SDK開發過程中遇到如下問題,在MIUI中,涉及浮窗的APP 需要在對應的軟件設置頁面打開 浮窗權限 才能正常使用APP,MIUI的權限設置入口就在應用管理頁面,可以通過如下的代碼跳轉至該入口:private IntentgetAp

原创 Android中app卡頓原因分析(ios順滑)

關於ios app普遍比Android app順暢,在這件事情上我認爲主要是這三個原因: 速度曲線。當你滑動界面然後鬆手,這時界面會繼續滑動,然後速度減小,直到速度爲0時停止。iOS下速度減小的這個過程比較慢,尤其是快要停的時候是慢慢停的

原创 深入簡出Socket 通信

前言:   官方的解釋socket機制:              在網絡編程中最常用的方案便是Client/Server(客戶機/服務器)模型。在這種方案中客戶應用程序向服務器程序請求服務。一個服務程序通常在一個衆所周知的地址監聽對服務

原创 Android應用性能調試

開篇 關於Android性能方面,不能不讀這篇文章。作者是GOOGLE員工,同時也是個攝影愛好者。本文就是通過閱讀這篇文章,結合Android 4.4平臺和自身實踐總結出來的,個人認爲對Android應用程序性能優化較有幫助的

原创 Android 程序框架設計

這篇文章主要內容來自於之前我講的一個PPT文檔,現在將其整理如下。歡迎指正。以下的內容都是來自於我自身的經驗,歡迎大家多提自己的建議。 1、一些概念 模式的定義: 每個模式都描述了一個在我們的環境中不斷出現的問題,然後描述

原创 Android 設計模式 簡介

簡介 項目開發中發現問題、解決問題這個過程中會出現很多問題,比如重複出現、某個問題的遺留,這些問題的本質就是設計模式。今天記錄設計模式的知識點。 內容 在java以及其他的面向對象設計模式中,類與類之間主要有6種關係,他們分別是:依賴

原创 Android React Native使用原生模塊

有時候我們的App需要訪問平臺API,並且React Native可能還沒有相應的模塊包裝;或者你需要複用一些Java代碼,而不是用Javascript重新實現一遍;又或者你需要實現某些高性能的、多線程的代碼,譬如圖片處理、數據