原创 佈局渲染流程原理及優化

CPU/GPU CPU作爲“中央處理器”,除了要負責邏輯計算外,還需要做內存管理,顯示操作,因此隨着各種複雜App的出現,其實際運輸的性能會大打折扣。 設計原由:爲了提高圖形顯示小路以及複雜的圖形,設計出了GPU. 主要功能:爲了

原创 APK構建流程

APK構建流程 aapt 編譯資源文件生成 R.java 並打包資源文件 Java compiler Java編譯器 編譯Java代碼與aidl 成.class文件 dex工具把.class文件編譯成.dex文件 apkbui

原创 Android面試大全(未完待續)

Java虛擬機方面 JVM 內存結構 JVM垃圾收集策略與算法 Java方面 Android方面 佈局渲染流程原理及優化 Android內存優化

原创 Android App 冷/熱/暖 啓動

Android App 啓動 App 一般啓動是從Launcher 啓動的,App啓動一般分爲冷/熱/暖三種啓動情況 冷啓動:程序從頭開始,系統沒有爲該程序創建進程。一般場景:程序安裝後的第一次啓動;應用程序被系統完全終止後再打

原创 EventBus3.0介紹與正確使用

EventBus3.0介紹與正確使用 常規的事件傳遞 Intent意圖,跳轉+傳參(侷限性非常大) Handler,通常用來更新主線程UI 泗洪不當容易內存泄漏 Interface接口,僅限於同一線程中數據交互 BroadCas

原创 Android 10 Unable to open '/storage/emulated/0/: Permission denied

Android 10 Unable to open '/storage/emulated/0/: Permission denied 在Android10 中讀取sd卡數據時候報這樣的錯,起初一臉懵逼,權限也加了爲什麼還報沒有權限

原创 Android開發 組件化中APT的使用

什麼是APT? APT(Annotation Processing Tool) 是一種處理註釋的工具,它對源代碼文件檢測找出其中的Annotation,根據註解自動生產代碼,如果想要自定義的註解處理器能夠正常運行,必須要通過APT

原创 Android studio 下載第三方庫下載不下來 推薦阿里鏡像

在build.gradle 中添加如下 鏡像地址: maven { url “http://maven.aliyun.com/nexus/content/groups/public/” } // Top-level build f

原创 Android new Handler的兩種寫法與區別

寫法一 Handler handler = new Handler(){ @Override public void handleMessage(Message msg) {

原创 handler造成的內存泄漏(情況一)

造成內存泄漏的代碼如下: 相信大家都能看出來,寫了些僞代碼 Handler handler = new Handler(){ @Override public void handleMessage(

原创 AOP面向切面架構設計

AOP面向切面架構設計 其實是aop是oop的一種延續,和升級。 AOP 的作用 aop可以對業務邏輯各個部分進行分離,從而使我們各個部分之間的耦合度降低,提高程序的可重用性, AOP在Android上的應用 例如對activit

原创 Android targetSdkVersion="28" 修改爲28後遇見的問題

一、net::ERR_CLEARTEXT_NOT_PERMITTED Android9.0無法加載url 解決方案:android:usesCleartextTraffic=“true” <application

原创 設置Dialog位置

@設置Dialog位置 public static void setDialogPosition(AlertDialog dialog,Activity activity){ Window window = dialog

原创 Android 狀態欄背景顏色修改與狀態欄字體顏色修改

public class StatusBarUtils { /** * 修改狀態欄爲沉浸式,並修改背景顏色與字體顏色 * * @param activity */ @Tar

原创 TextView用代碼設置單行,且多出來的省略號。。。

TextView 代碼設置單行,省略號 textView.setSingleLine(true); textView.setEllipsize(TextUtils.TruncateAt.END); textView.setMaxE