原创 數組與容器對比

容器能否完全替代數組? 針對數組類型,很多語言都提供了容器類,比如 Java 中的 ArrayList、C++ STL 中的 vector。在項目開發中,什麼時候適合用數組,什麼時候適合用容器呢? 這裏我拿 Java 語言來舉例。

原创 使用Android sdk/build-tools/dx工具轉jar爲dex時出現:-Djava.ext.dirs is not supported

使用dx.bat工具出現以下錯誤: -Djava.ext.dirs=C:\Users\EDZ\AppData\Local\Android\Sdk\build-tools\27.0.3\lib is not supported.

原创 9102年了,還不知道Android爲什麼卡?

原文鏈接:https://juejin.im/post/5d4bdb23e51d453c2577b747 導讀 最近華爲方舟編譯器要開源了,筆者去看了下發佈會PPT,發現作爲一名Andr

原创 Android動態加載技術 簡單易懂的介紹方式

原文鏈接:https://segmentfault.com/a/1190000004062866 我們很早開始就在Android項目中採用了動態加載技術,主要目的是爲了達到讓用戶不用重新

原创 Linux環境變量總結

Linux是一個多用戶多任務的操作系統,可以在Linux中爲不同的用戶設置不同的運行環境,具體做法是設置不同用戶的環境變量。 Linux環境變量分類 一、按照生命週期來分,Linux環境變量可以分爲兩類: 1、永久的:需要用戶修改

原创 Kotlin實戰--給別人的類添加方法:擴展函數和屬性

1.概述 擴展函數能夠讓我們與項目無縫接入,我們能夠在無侵入的情況下爲類添加更多的行爲和屬性,Kotlin庫中很多地方就用到了擴展函數,如Anko庫裏面的佈局系統,集合的使用等。正是由於擴展函數的使用,纔可以讓我們與JAVA無縫銜

原创 Kotlin實戰--消除靜態工具類:頂層函數和屬性

1.引入 我們都知道, Java 作爲一門面向對象的語言,需要所有的代碼都寫作類的函數。大多數情況下,這種方式還能行得通。但事實上,幾乎所有的大型項目,最終都有很多的代碼並不能歸屬到任何一個類中。有時一個操作對應兩個不同的類的對象

原创 用Kotlin的Anko庫優雅開發Android應用--Anko庫詳細教程

前言 最近Kotlin的呼聲又是日益高漲,前幾天9012年Google IO正式將Kotlin從first _class提升爲kotlin_first。我也是接觸了一段時間的Kotlin,給我的感覺就是簡約,快速。無需繁瑣的findI

原创 CPU核心數目 與 多線程

一直以來有這樣的疑惑,在現如今多核多線程的電腦處理器之下,一個進程中的幾個線程是 怎麼運行的呢?(是經系統和JVM分配少量的資源 最後輪流切換 時間調度?還是這幾個線程分配到不同的核上同時運行?) 今天就這一問題查了一些資料,現整理如

原创 Android 性能優化--內存優化之Bitmap優化

Android開發中,Bitmap是經常會遇到的對象,特別是在列表圖片展示、大圖顯示等界面。而Bitmap實實在在是內存使用的“大客戶”。如何更好的使用Bitmap,減少其對App內存的使用,是Android優化方面不可迴避的問題。因

原创 Android性能優化 View--佈局優化

目錄 1.影響的性能 佈局性能的好壞 主要影響 :Android應用中的頁面顯示速度 2.如何影響性能 佈局影響Android性能的實質:頁面的測量 & 繪製時間 1個頁面通過遞歸 完成測量 & 繪製過程 = measure、la

原创 Android性能優化 View--繪製優化

目錄 1.影響的性能 繪製性能的好壞 主要影響 :Android應用中的頁面顯示速度 2.如何影響性能 繪製影響Android性能的實質:頁面的繪製時間 1個頁面通過遞歸 完成測量 & 繪製過程 3.優化思路 主要優化方向是:

原创 深入分析 Java I/O 的工作機制

Java 的 I/O 類庫的基本架構 I/O 問題是任何編程語言都無法迴避的問題,可以說 I/O 問題是整個人機交互的核心問題,因爲 I/O 是機器獲取和交換信息的主要渠道。在當今這個數據大爆炸時代,I/O 問題尤其突出,很容易成爲一

原创 磁盤I/O的三種方式對比:標準I/O、直接 I/O、mmap

文章目錄@[TOC] 1.引入1.1 標準I/O1.2直接I/O1.3 mmap 1.引入 讓我們先看一下Linux系統下IO結構模型 從圖中可以看到標準 I/O、mmap、直接 I/O 這三種 I/O 方式在流程上的差異 1.1

原创 磁盤I/O那些事

概述 計算機硬件性能在過去十年間的發展普遍遵循摩爾定律,通用計算機的CPU主頻早已超過3GHz,內存也進入了普及DDR4的時代。然而傳統硬盤雖然在存儲容量上增長迅速,但是在讀寫性能上並無明顯提升,同時SSD硬盤價格高昂,不能在短時間內