原创 Flutter探索之旅(一)AndroidStudio創建Flutter項目

Flutter是谷歌開發的移動UI框架,可以快速在iOS和Android上構建高質量的原生用戶界面。 Flutter可以與現有的代碼一起工作,並且Flutter是完全免費、開源的。 如何創建自己的Flutter項目?官網地址:https:

原创 Android最新面試題總結

  請看Android知識圖譜。  基礎知識 – 四大組件(生命週期,使用場景,如何啓動) java基礎 – 數據結構,線程,mvc框架 通信 – 網絡連接(HttpClient,HttpUrlConnetion),Socket 數據持

原创 性能優化(二)內存優化

說起內存我們要先了解JAVA虛擬機 JAVA虛擬機 java虛擬機在運行程序時會在內存空間分配一塊區域用於程序的運行,虛擬機又會把這一塊區域劃分爲若干個不同的數據塊 線程私有:程序計數器、虛擬機棧、本地方法棧; 共享數據區:方法區、jav

原创 Jetpack入坑(一)Lifecycle基礎理解篇

Jetpack已經出來很久了,然而我才......(一萬個理由已經備好)。 學習Android之初,最先接觸的就是Activity,學習了她從哪裏來到哪裏去,瞭解了她的一生。在Jetpack中組件的一生是靠Lifecycle來管理。以下示

原创 Jetpack入坑(二)LiveData源碼分析

LiveData是一個可觀察的數據存儲器。它可以通過觀察者Observer與LifecycleOwner配對來感知數據依附組件的生命週期狀態,只會把更新通知發給活躍的觀察者,所謂活躍就是觀察者處於STARTED或者RESUMED狀態而沒有

原创 Activity生命週期啓動流程啓動模式

Activity 1、activity啓動流程: ————》點擊App的icon ————》在Laucher的onClick方法中,調用startActivitySafely方法(Laucher繼承於Activity) ————》star

原创 集合(三)HashMap背後的故事

集合(一)扒掉ArrayList的外衣 集合(二)走進LinkedList的內心 集合(三)HashMap背後的故事 前兩篇學習了ArrayList和LinkedList的源碼,一個是數組一個是雙向鏈表,今天一起來看看HashMap(Jd

原创 集合(一)扒掉ArrayList的外衣

集合(一)扒掉ArrayList的外衣 集合(二)走進LinkedList的內心  集合(三)HashMap背後的故事 ArrayList是什麼?  顫抖的小手敲開門ArrayList的大門,發現她竟然是Object[] elemen

原创 性能優化(一)UI繪製優化

CPU和GPU工作流程 CPU 的任務繁多,做邏輯計算外,還要做內存管理、顯示操作,因此 在實際運算的時候性能會大打折扣,在沒有 GPU 的時代,不能顯示覆 雜的圖形,其運算速度遠跟不上今天覆雜三維遊戲的要求。即使 CPU 的工作頻率超過

原创 Android面試(一)Java虛擬機內存結構分析

1、Java虛擬機內存結構模型 Java虛擬機內存結構分:JVM堆、方法區、虛擬機棧、本地方法棧、程序計數器。 JVM堆:所有線程共享的運行時內存區域,是GC回收的主場所,Java堆保存Java的實例對象,從內存回收對象的存活來分析,堆又

原创 集合(二)走進LinkedList的內心

集合(一)扒掉ArrayList的外衣 集合(二)走進LinkedList的內心 集合(三)HashMap背後的故事 LinkedList是什麼? * Doubly-linked list implementation of the

原创 ARouter(一)簡單使用

  demo場景:app模塊主頁面分別跳轉購物車模塊頁面和個人中心模塊,個人中心模塊跳轉主界面和購物車模塊,購物車模塊跳轉個人中心模塊和主界面 框架地址:ARouter 使用步驟: 1、在項目的build.gradle文件中 2、分別

原创 Jetpack入坑(二)LiveData源碼分析理解

LiveData是一個可觀察的數據存儲器。它可以通過觀察者Observer與LifecycleOwner配對來感知數據依附組件的生命週期狀態,只會把更新通知發給活躍的觀察者,所謂活躍就是觀察者處於STARTED或者RESUMED狀態而沒有

原创 Jetpack學習(一)Lifecycle

Jetpack已經出來很久了,然而我才......(一萬個理由已經備好)。 學習Android之初,最先接觸的就是Activity,學習了她從哪裏來到哪裏去,瞭解了她的一生。在Jetpack中組件的一生是靠Lifecycle來管理。以下示

原创 ARouter(二)Kotlin和Java配置

ARouter(一)簡單使用 我們在使用Arouter進行組件化開發時,可能是多人開發有人用Java有人使用Kotlin,在build.gradle配置時有一定的差別,在此記錄: Java版: if (isModule.toBoolea