原创 Android程序員必備的六大頂級開發工具,快加入你的清單!

工慾善其事必先利其器!在現代IT中,每個Android程序員都需要最好的工具來提高他們的技能和效率。在Android應用程序開發這個殘酷的競爭行業中,只有優秀的程序員才能生存下去。你需要向客戶展示你擁有的最佳技術和能力。 不僅僅是展示你

原创 Android 冷門知識點彙總:你知道哪些Android中的冷門知識?

四大組件相關: 1.啓動一個Activity,在應用進程至少需要兩個Binder線程。 2.啓動一個launchMode爲singleTask的Activity,它並不一定會運行在新的Activity棧中。 3.兩個不同應用的Activi

原创 騰訊精選面試重點問題:Android源碼分析--應用程序啓動

面試官:什麼是應用程序啓動 應用程序的啓動,又可稱爲根Activity的啓動。但是在講應用程序啓動之前,我們有必要對應用程序進程(AppProcess)啓動有所瞭解,那是因爲啓動一個應用程序首先要保證該應用程序的進程已經被啓動。AMS在

原创 爲什麼大部分的程序員成不了架構師?爲什麼很多程序員沒有升級到架構師?

對我們程序員來說,發展的途徑要麼是走管理崗,從開發升級到項目經理甚至是部門經理;要麼走技術升級路線。不過在技術路線方面,無法升級到架構師的程序員不在少數。一方面,在不少公司的高級開發崗位上,無法讓程序員實踐甚至接觸到架構師的技能,另一方面

原创 阿里Android 26條規範經驗及優化

1、Activity 間的數據通信,對於數據量比較大的,避免使用 Intent + Parcelable的方式,可以考慮 EventBus 等替代方案,以免造成 TransactionTooLargeException 2、Activit

原创 我是如何做到在 5 分鐘之內將應用大小減少 60% 的?

移動設備的資源總是有限的。有限的電量,有限的存儲,有限的處理能力,有限的內存,有限的網絡帶寬……無論你面對的是 Android 還是 iOS,這都是真理。 在前幾個月,我在開發一個安卓應用。當有人嘗試用錯誤的密碼解鎖設備時,這個應用會通過前

原创 一個優秀程序員不可避免的問題:內存泄漏

前言 內存泄漏,一個說大不大說下不小的瑕疵。作爲開發者,我們都很清楚內存泄漏是我們代碼問題導致的。但是話說回來,泄漏後果會很嚴重嘛?這不好說,如果我們不泄漏Bitmap這種大內存的對象,那麼修補內存泄漏就像雞肋一樣,“食之無味,棄之可惜”。

原创 Android性能優化之啓動優化實戰

前言 本文將帶領大家來看看啓動優化相關方面的介紹以及各種優化的方法。希望你在讀完本章後會有所收穫。 相信很多同學都聽過八秒定律,八秒定律是在互聯網領域存在的一個定律,即指的是用戶訪問一個網站時,如果等待網頁打開的時間超過了8秒,就有超過70

原创 Android筆記:在原生App中嵌入Flutter

本文參考文檔Add Flutter to existing apps。 首先有一個可以運行的原生項目 第一步:新建Flutter module Terminal進入到項目根目錄,執行flutter create -t module ‘mod

原创 Android源碼剖析:基於 Handler、Looper 實現攔截全局崩潰、監控ANR等

相信很多人都會有一個疑問,我們爲何要去閱讀源碼,工作上又用不上,這個問題很棒,我們就先從使用出發,然後分析這些用法的實現原理,這樣才能體現出閱讀源碼的意義。 基於 Handler 和 Looper 攔截全局崩潰(主線程),避免 APP 退

原创 如何搞定Android同事所有不規範代碼,我用了這招...

前言 以前對下面的問題,我的態度是,不報錯就是沒問題,報錯就用快捷鍵,根據Android Studio提示修復問題,從來不去問個爲什麼?現在代碼潔癖症越來越嚴重的我,忍不住想看清什麼東西在搞鬼。 認真看完本文,一定可以學到最新的知識。就算看

原创 最常見的Android內存優化方式及防止泄漏造成OOM總結篇

前言 內存優化目的就是讓我們在開發中怎麼有效的避免我們的應用出現內存泄漏的問題。內存泄漏大家都不陌生了,簡單粗俗的講,就是該被釋放的對象沒有釋放,一直被某個或某些實例所持有卻不再被使用導致 GC 不能回收。既然說到內存泄漏和優化,就不得不

原创 Android Binder原理:學習Binder前必須要了解的知識點!

前言 Binder原理是掌握系統底層原理的基石,也是進階高級工程師的必備知識點,這篇文章不會過多介紹Binder原理,而是講解學習Binder前需要的掌握的知識點。 1.Linux和Android的IPC機制種類 IPC全名爲inter-P

原创 Android性能優化之APK瘦身詳解(瘦身73%)

公司項目在不斷的改版迭代中,代碼在不斷的累加,終於apk包不負重負了,已經到了八十多M了。可能要換種方式表達,到目前爲止沒有正真的往外推過,一直在內部執行7天討論需求,5天代碼實現的階段。你在寫上個版本的內容,好了,下個版本的更新內容已

原创 面試題精選:Android埋點,減少對業務代碼的如侵!

前言 前幾天去參加了一場面試。面試的題目大多很基礎,有一道關於埋點的問題,面試官問我如果不用第三方SDK進行埋點,自己埋點的話,如何減少埋點對業務代碼的ru侵。 當時沒想太多,就說創建一個 BaseView 類,在這個類中進行埋點的操作,然