原创 Hook技術——攔截系統Intent

首先說下什麼是 Hook (鉤子函數): 鉤子函數其實一段程序,在系統的調用中掛載到系統,在沒有調用該函數之前,鉤子程序先捕獲該消息,這樣鉤子函數先得到控制權,這樣鉤子函數就可以加工處理該函數的執行從而改變消息的傳遞。 Hook技

原创 Hook技術 —— 加載完整的APK

通過該demo,我們能瞭解到如下內容: 1、 融合不同的 apk dex 文件, 2、 瞭解到Element對象以及DexFile 對象 3、 插件中APK資源的合併 本文切入點 1、 融合Element數組

原创 這一年吶。。。

就像12年進入大學這個小社會一樣,今年也是如期的離開了學校這個大懷抱。當初進入大學想着多學一份技能就能夠有一份驕傲的資本,回顧大學四年來的學習情況,收穫最多的也就是自己堅持在圖書館的自學歷程;我也慶幸能夠有一份自己的堅持,所以才能夠如願的

原创 Activity生命週期問題彙總

Activity的生命週期在面試中是高頻問題,今天抽空總結一下: 1. 下拉狀態欄 啓動Activity: 05-02 10:26:57.936 3339-3339/wallet.ellison.com.blogdemo

原创 淺談 設計模式之 —— 責任鏈模式 (OKHttp中的責任鏈模式)

一、 什麼是責任鏈模式 責任鏈, 顧名思義是將多個節點通過鏈條的方式連接起來,每一個節點相當於一個對象,而每一個對象層層相關,直接或者間接引用下一個對象(節點);直到鏈條中有一個節點處理頭節點傳下來的事件截止。 二、責任鏈模式使用場景

原创 Android性能優化——APP啓動速度優化

一、查看啓動時間 第一種方式:直接在Logcat中查看,Android應用啓動的時候會打印出app的啓動時間,不過要在過濾框中輸入 Displayed 來過濾查看: 第二種方式: 使用 adb 命令,這裏不詳解

原创 Fragment中使用startActivityForResult

在使用startActivityForResult時,如果沒有接收到數據可能出現的問題: 1、Activity使用了單例模式(最重要,首先需要查看) 2、是否使用的是getActivity.startActivityForResult

原创 MySQL安裝與配置 (綠色版不能安裝的情況)

MySQL安裝與配置是一件很簡單的事情,但是在下載安裝的時候會出現一些問題,比如我電腦的權限配置一直存在問題,所以在使用mysqld.exe這個文件的時候會啓動不了服務。 下面我將下載開始安裝與配置MySQL: 首先進入到官網下載

原创 設計模式 -- 原型模式

原型模式使用場景: 1. 類初始化消耗非常多資源 2. new一個對象需要非常繁瑣的數據準備或訪問權限 3. 一個對象需要給其他對象訪問,每個調用者都需要修改其值時 簡單實現 /** * Created by Elliso

原创 Android Appcompat樣式使用自定義Dialog

自定義Dialog在項目中使用到很多,其中遇到的坑也很多,來看下使用Appcompat樣式的dialog怎麼處理: 1、使用樣式文件 <style name="PhotoDialog" parent="@style/Theme.AppCo

原创 項目中使用到RadioGroup、RadioButton

項目中使用了動態加載RadioButton的需求

原创 java.lang.OutOfMemoryError: Java heap space

AS編譯報錯:OutOfMemoryError 出現該問題一般都是AS中設置虛擬機內存有問題 需要在gradle.properties中修改虛擬機的大小: 在最後面加上即可 org.gradle.daemon=true org.

原创 安卓Studio修改包名

1、將包名的默認顯示方式去掉,將compact empty middle packages 的勾去掉 2、按shift+F6重命名包名 3、在該app下修改build.gradle中的applicationId爲自己的修改後的包名

原创 安卓studio開發項目_錯誤集合

如圖:出現default not found 一般是在項目中setting.gradle中include的項目沒有找到的原因 include 後面的模塊一般會存在當前項目中,如果要弱引用,需要添加藍色部分的代碼, 來確定項目所在的

原创 動態換膚框架原理解析

閱讀該文(動態換膚框架原理)你會了解: 1、 網易雲換膚的由來 2、 換膚框架的編寫 一 、 首先了解一下換膚的主要APP 目前市場上主要換膚的APP有網易雲音樂作爲代表: 換膚前 換膚後 另外還有高德地圖同樣