原创 Java高級面試 —— Java的泛型實現機制是怎麼樣的?

文章目錄1. 類型擦除有什麼優勢?1.1 減小運行時內存負擔1.2 向前兼容性好2. 類型擦除存在什麼問題?2.1 基本類型無法作爲泛型實參2.2 泛型類型無法用作方法重載2.3 泛型類型無法當做真實類型使用2.4 靜態方法無

原创 Android高級面試 —— onActivityResult能不能設計成回調?

文章目錄1. 你覺得onActivityResult好用嗎?2. onActivityResult能設計成回調嗎? 我覺得這是一個很有趣的問題,有趣的除了題目本身,也在於其引申出的感悟。我們在使用和學習Android Framew

原创 Java面試 —— Java String可以有多長?

1. 題目剖析 Java String可以有多長?相信大部分人不會太關注這個問題,甚至可能有些人會認爲String要多長可以有多長,很明顯這是不實際的想法。假設現在有這樣一個場景: byte[] jsonBytes = readTas

原创 Android技術週報190317期 —— Protocbuf全面解析

Protobuf即Protocol Buffers,是Google公司開發的一種跨語言和平臺的序列化數據結構的方式,是一個靈活的、高效的用於序列化數據的協議。與XML和JSON格式相比,protobuf更小、更快、更便捷。而且Protobu

原创 後期處理之Camera Raw曝光

在調整完白平衡之後,就是調整照片的曝光。爲什麼要想調整白平衡再調整曝光呢,如果照片看起來太藍,任何人都無法注意到照片是否欠爆1/3檔,因此,要先校正白平衡(後期處理之Camera Raw白平衡),之後才考慮曝光。然而,在Camera Raw

原创 Android Chat 190310期 —— onSaveInstanceState到底做了些什麼?

Android Chat是最近我剛創建的一個文集,這篇文章也是Android Chat這個文集的第一篇文章(發現自己好久沒寫簡書了),主要目的是想跟大家分享,或者更多的是交流一下在Android開發過程中容易被忽視的一些東西,對於描述的內容

原创 初探Gradle之構建Variant

在Gradle中,構建Variant有什麼用呢?首先看第一個問題,每一個由Android Studio創建的項目都會產生debug和release兩個構建類型,那麼開發者能不能創建自己的構建類型去實現特殊化呢?第二個問題,當一個應用出現多個

原创 從Android開發的角度去認識Kotlin

在2017的Google I/O大會上,Google宣佈,這門誕生於俄羅斯的年輕語言,即日起成爲最新的一級安卓編程語言,並在Android Studio 3.0 已加入對其的支持。Kotlin是JetBrains設計並開源(最新開源版本爲1

原创 如何給自己的Android應用快速搭建測試後臺?

在個人的Android開發的過程中,總會存在缺乏後臺支持的問題,因爲個人開發者並不會像在公司團隊裏那樣方便,有專業的後臺開發人員。有不少初學者會選擇一些免費的第三方服務器平臺(如Bmob),然後一般在這些平臺上都已經規定好訪問服務器的方式,

原创 後期處理之Camera Raw白平衡

如果你在室內拍攝過照片,就會發現照片可能具有黃色色調,除非你在辦公室拍攝照片,這樣拍攝的照片會具有綠色色調。如果在陰影中拍攝照片,照片很有可能具有藍色色調。這些都是白平衡處理。如果正確設置相機內的白平衡,就不會出現這些顏色問題,但大多數人拍

原创 開發者眼中的Material Design

Material Design,中文名:材料設計語言,是由Google推出的全新的設計語言,谷歌表示,這種設計語言旨在爲手機、平板電腦、臺式機和“其他平臺”提供更一致、更廣泛的“外觀和感覺”。然而,Material Design卻是UI設

原创 View的孿生兄弟——SurfaceView

Android系統提供了View進行繪圖處理,View可以滿足大部分的繪圖需求,但在某些時候,卻也有些心有餘而力不足。我們知道,View通過刷新來重繪視圖,然而刷新的間隔時間爲16ms,如果在16ms內View完成了你所需要執行的所有操作,