原创 App爲了漂亮臉蛋也要美顏,Theme 與 Style 的使用,附一鍵變裝 demo

前言 作爲 Android 開發者,不知你是否也有這樣的體驗,隨着項目變得越來越大,各種不同圓角的 shape,不同透明度的 color,不同大小的陰影效果,它們使資源文件越來越多 我認爲造成這種問題的原因有兩個:一個是產品設計的不規範,

原创 Android 在 Kotlin 中 圓角圖片,橢圓角圖片的實現

一.效果介紹 設置四個圓角的展現和隱藏 控件繼承ImageView,可以使用ImageView屬性的src和scaleType 設置角度的x和y值,x==y 圓角,x!=y 橢圓角 設置邊框的顏色,邊框寬度 通過src設置的圖片會被裁剪

原创 騰訊---synchronize關鍵字在虛擬機執行原理是什麼,能談一談什麼是內存可見性,鎖升級嗎

面試官: synchronize關鍵字在虛擬機執行原理是什麼,能談一談什麼是內存可見性,鎖升級嗎 心理分析:面試官一定是想深入考你併發的內容,看你究竟有沒有做過併發處理,大多數開發者在開發App時 往往會忽略調併發處理 ,這道題會難

原创 這種方式教你簡單的在Flutter中分離View與Model的方法

問題 我們在做Flutter開發的時候主要會在State中加入很多自己的業務邏輯,例如網絡請求,數據處理等等,如果你的業務邏輯比較複雜的話會面對着一個越來越膨脹的State。代碼的可讀性下降,日後維護也越來越困難。這和我們在開發Andro

原创 騰訊---談一談Binder的原理和實現一次拷貝的流程

面試官: 談一談Binder的原理和實現一次拷貝的流程 心理分析:能問出該問題,面試官對binder的理解是非常深入的。想問求職者對Android底層有沒有深入理解 **求職者:**應該從linux進程通信原理的兩次拷貝說起,然

原创 做了6年的Android開發,整理了這份900多頁的PDF面試整理,薪資Double!

在我認爲,對於Android面試以及進階的最佳學習方法莫過於刷題+博客+書籍+總結,前三者博主將淋漓盡致地揮毫於這篇博客文章中,至於總結在於個人,實際上越到後面你會發現面試並不難,其次就是在刷題的過程中有沒有去思考,刷題只是次之,這又是一

原创 我是如何一步一步爬上 “64K限制” 的坑 | 經驗貼

初衷 分享這個填坑的記錄,主要是感覺身邊很多 Androider 都會遇到和我一樣的場景。 遇到一個 BUG ,優先按照自己經驗修復 修復不了了,開始 Google(不要百度,再三強調),尋找一切和我們 BUG 相似的問題,然後看看有沒有

原创 騰訊-談談volatile關鍵字與synchronized關鍵字在內存的區別

volatile關鍵字與synchronized關鍵字 作爲Android開發者 我們總是傻傻的分不清。這一小節中,我們從騰訊面試中給大家講解他們之間的作用和區別,在瞭解他們區別之前 我們得看看什麼是線程安全性 線程安全性: 線程安全

原创 Android 工程師跳槽面試經驗分享

寫在前面 Android開發的學習進階需要一份系統的 知識體系 ,在這裏,讓我們一起攜手變成更好的自己! 這些經驗是我最近四個月,從準備面試到找到合適工作的汗水和淚水,並且還有一份相關的知識點整理成的PDF分享,希望對你們能有幫助!

原创 騰訊-數據庫版本如何單獨升級,並且將原有數據遷移過去

  在我們開發的應用中,一般都會涉及到數據庫,使用數據的時候會涉及到數據庫的升級、數據的遷移、增加行的字段等。比如,用戶定製數據的保存,文件的端點續傳信息的保存等都會涉及到數據庫。 ​ 我們應用第一個版本是V1.0,在迭代版本V1.1

原创 你的ViewPager八成用錯了

前言 今天的文章內容是關於ViewPager的,很多同學可能會吐槽:怎麼還寫這種“低級”的內容!爲什麼?因爲絕大多數的同學都用錯了,當然這主要的原因是搜索引擎推出來的文章大多都是錯的! 正文 一、錯誤用法 不知道有多少同學是這樣用View

原创 騰訊--增量升級爲什麼減少升級代價,增量升級原理

在前幾年,整體移動網絡環境相比現在差很多,加之流量費用又相對較高,因此每當我們發佈新版本的時候,一些用戶升級並不是很積極,這就造成了新版本的升級率並不高。而google爲了解決了這個問題,提出了Smart App Update,即增量更

原创 騰訊面試官問:你知道什麼是AOP嗎?AOP與OOP有什麼區別,談談AOP的原理是什麼?

面試官: 你知道什麼是AOP嗎?AOP與OOP有什麼區別,談談AOP的原理是什麼 心理分析:一旦問到aop面試官在開發自己的項目中 肯定是用到了aop切面編程的。這個時候求職者需要格外注意,特別是aop 在編譯時的性能優勢,apk編

原创 ViewDragHelper實戰,實現滑動解鎖

說到滑動解鎖,就回到了2012~2014年,iPhone4S、5、5S年代,如今準備踏入2020年,這些年國產機崛起,再也不是公交車上都是iPhone4S的場景。本篇來使用ViewDragHelper實現滑動解鎖。 成品展示      

原创 騰訊---ButterKnife爲什麼執行效率爲什麼比其他注入框架高?它的原理是什麼

面試官: ButterKnife爲什麼執行效率爲什麼比其他注入框架高?它的原理是什麼 心理分析: ButterKnife框架一直都是使用,很少又開發者對butterknife深入研究的,既然你是面試Android高級崗位,自然需要有