原创 對象拷貝性能對比分析

對象拷貝可分爲淺拷貝和深拷貝,在開發過程中深拷貝不是隨處可見,大部分是引用的賦值,也即是內存地址的引用。如果簡單的類似Student studen1 = student0這樣便認爲複製了一份,這就大錯特錯了,有些時候你會莫名的發現

原创 Edittext的自動填充引起的Bug

最近發現線上有一個bug: at com.android.internal.util.SyncResultReceiver.waitResult(SyncResultReceiver.java:60) at com

原创 View手勢GestureDetector使用

開發同學都知道自定義view的時候可以重寫onTouch()方法,進而擴展按下、移動、鬆開這三個函數,這也是常用的形式。但是這個方法太過簡單,如果需要處理一些複雜的手勢,用這個接口就會很麻煩。Android其實有一個手勢庫——Ge

原创 Markdown使用說明【轉載CSDN官方】

@[TOC](這裏寫自定義目錄標題) # 歡迎使用Markdown編輯器 你好! 這是你第一次使用 **Markdown編輯器** 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdow

原创 記一次Alibaba代碼質量檢測問題歸總

前段時間針對公司老項目做了一次代碼規範質量檢查,採用的是阿里巴巴代碼檢測插件進行檢測,檢查結果並不理想,老項目比較重,開發迭代人員比較多,本文就是對這些檢查點做一個記錄,方便之後回顧。 Alibaba代碼檢測插件是2017年開發的

原创 Android開機啓動的那些事

以前知道AMS、PMS這些概念及其功能,開發的過程中也會用到,就是不知道其來源,好奇心害死貓,扒着扒着扒到系統開機啓動這個知識層面上來了,好吧,那今天就說說這個吧! 系統開機啓動過程 Android系統的啓動,主要是指Andro

原创 Android開發通知欄的那些事

對於通知欄的使用,Android各個版本其實都有比較大的調整。例如老版本的不兼容,大小圖標問題以及自定義通知欄適配問題,這些都是比較頭大的事,當然弄懂了就清楚了,本篇就處理下這些疑惑。 通知欄的使用 顯示一個普通的通知欄 pub

原创 針對極光推送送達率的探究

前言 前段時間內部一個應用對接了極光推送,開發人當然是我咯,根據多年對極光的認可這塊對接還是很有信心的。畢竟是內部系統,送達率要求還是很高的,業務實時性需要,所以產品這塊非常看重送達率,我對他說極光的實時送達率很客觀的,有實驗室數

原创 Android開發之Fragment知識總結

這是一篇自己很早總結的,一直在筆記裏存着,再放都發黴了,拿出來曬曬。 手機從塞班時代百花爭豔到喬布斯的方塊範疇,再到現在的不到不小的16:9,然後就是華爲、三星的摺疊系列,不出意料未來的手機又會到一個個性化高峯。這些對於我們開發者

原创 WebView高度自適應方案探究

Android項目開發中針對webview避免不了混合開發模式,可Android上的webview又很不爭氣,幾乎每個Android版本都有webvie的改動,在國內這種魚龍混雜環境下出乎意料的問題又很多,這次就談談webview

原创 記一次BuildConfig.DEBUG不準確導致的Bug

Android開發過程中通常我們區分debug和release的相關配置都會採用BuildConfig.DEBUG來進行判斷,殊不知這個東西弄不好卻是一個坑,剛好在最近的開發過程中遇到。 問題 最近在負責一個內部系統,需要根據B

原创 Android媒體庫你瞭解多少

Android系統中有一個媒體庫,這個大家應該有所瞭解,平時在開發過程中如果不涉及媒體文件(圖片、音頻、視頻)這塊則很少接觸到。有些時候我們在本地添加一張圖片,但是在相冊中卻無法搜索到,這裏主要原因就是沒有通知系統媒體庫刷新導致的

原创 Android開發約束佈局ConstraintLayout學習總結

小夥伴都知道Android開發有常用的五大布局:LinearLayout、RelateLayout、FrameLayout、AbsolutLayout和TableLayout,今天再總結一個比較牛掰的一個佈局——Constrain

原创 Android開發之UI線程和非UI線程

這裏又是老生暢談的話了,前邊已經有多篇文章針對線程進行探究解釋,Android開發過程中線程的體現更是淋漓盡致。Android開發過程中涉及到的線程從大類上分可以歸爲兩類:UI線程和非UI線程。本篇就根據這兩類做一個總結。 談到

原创 Android開發混淆的那些事

混淆想必大家都不陌生,android上用的這一套混淆規則和java混淆幾乎是一樣的。爲何需要混淆呢?簡單的說,就是將原本正常的項目文件,對其類,方法,字段,重新命名,a,b,c,d,e,f…之類的字母,達到混淆代碼的目的,這樣反編