原创 Android Q 與 SdCard 的恩恩怨怨

       Android Q的第6個Beta版本已經發出,距離正式版本推出非常臨近了. 筆者"有幸"提前嚐到Android Q的"酸爽",特此留下此篇以給後面的攻城獅拋磚引玉.     Android Q的更新比較多,但是與我們應用層

原创 Android Studio項目與Eclipse+ADT 項目之間的相互轉換

     Android Studio 自2013年發佈以來已經有3年了。然而前期的版本是各種坑啊(大天朝屏蔽谷歌導致有些資源不能下載...)!百度上的版本是1.5,這是一個相對穩定的版本。然而坑依然還是有點多。現在最新的穩定版本是2.1

原创 Android音頻AAC硬編碼

    Android音視頻編碼分爲軟編和硬編兩種。所謂的硬編是用設備GPU去實現編解碼,從而減輕CPU的壓力,讓程序更加的健壯,自然而然你就知道了軟編其實就是讓CPU編碼(其實是在c層通過c/c++進行編碼,之所以這樣是因爲c/c++平

原创 Android 性能優化之佈局優化

  性能優化是任何一個軟件最後都無法避開的一個話題。對於一個APP而言,創造出來不難,可是創造出一個高性能,各種順暢的APP還是相當有難度的。而Android性能優化是一個比較大的話題,本文就從Andro

原创 Android 平臺下Java與C/C++的相互調用

    Android主要使用的是Java語言進行編程的,應用層以及Framework使用的都是Java。對於java語言優勢嘛,主要就是語法簡單,跨平臺。當然劣勢也是非常的明顯,執行效率和速度相比於C/C++來說,比較的低下。舉個例子來

原创 Android 音頻播放

Android平臺播放音頻的方式一般有3種。1.利用系統內置的應用程序播放音頻    2.利用AudioTrack播放原始音頻   3.使用MediaPlayer播放。此3種音頻播放方式,以第三種Medi

原创 重拾Java之LinkedList源碼閱讀

     上文我們查看ArrayList的源碼(重拾Java之ArrayList源碼閱讀),接着我們來瞅瞅LinkedList有什麼神奇之處。ArrayList的數據存儲方式是數組,LinkedList裏面儲存數據的方式是鏈表,什麼是鏈表

原创 Android NDK一鍵編譯

android平臺下如果要進行c/c++開發,是需要藉助ndk這個開發工具的,ndk環境搭建無論是windows還是mac平臺下,都比較的簡單(百度一下)。本文着重介紹,ndk的編譯,編譯也有2中方式,第一種最原始的也是最通用的命令行的方

原创 重拾Java之ArrayList源碼閱讀

    最近換工作了。面試的時候被一個比較老的程序員到地上摩擦,表示很難受。之前因爲是從事音視頻方面的開發,所以去應聘智能硬件方面的工作。因爲都會涉及道JNI層面的開發。所以感覺比較適合。But. 生活真的不是那麼的一翻風順啊,我去面試的

原创 Android 自定義自動清空EditText

   Android系統自帶的EditText,雖然功能是實現了,但是總是感覺給人是缺胳膊少腿的。你就不能像ios一樣,輸入框的末尾加個小叉叉嗎?通常Android要實現這個功能,很常見的是使用組合佈局實現,但是這樣不好!原因可見這篇文章

原创 Android 自定義View之仿IOS Dialog

    Android平臺上的UI在5.0以前,那真的只能叫做實現功能了!谷歌爸爸總是那麼的“好”,於是有了各種各樣的support兼容包。MD設計確實不錯,但是試問現在有幾個UI設計師是知道這個設計的,又有多少設計師設計UI原型圖是按照

原创 Android音視頻之初識FFmpeg(一個強大到只能跪服的音視頻框架)!

   相信每一個搞音視頻開發的都或多或少的接觸過FFmpeg或者聽說它的大名。它可以說是音視頻領域的第一開源框架,代碼極其龐大,能達到熟練使用就已經不易了!在Android這個平臺上如果要使用軟解的話,我相信它是一個不錯的選擇。同時它也被

原创 Android 音頻採集(原始音頻)

Android 音頻簡介 常見的音頻編解碼的類型:AAC  OPUS MP3  AMR  Ogg  PCM   AAC: 高級音頻編碼  對應  .m4a(audio/m4a)或者.3pg(audio/3gpp)文件   HEAAC:高級