原创 2015,再見

2015,再見 或許人喜歡總在已經失去的時候纔想起懷念,就像此時此刻,2015的最後一天,最後一晚,我希望自己能夠靜下心坐在辦公室寫完這篇小結,儘管已經蠢蠢欲動,想和同事去打打球。 這一行我敲了許多次,確又一個字一個字的回車刪除

原创 《深入理解Android內核設計思想》學習筆記:第五章 Android進程、線程管理

一、進程和線程 進程:進程(process)是程序的一個運行實例; 線程:線程(Thread)是CPU調度的一個基本單元; Android: 四大組件只是進程中的一些“零件”; 應用程序啓動後,至少創建一個主線程Activity Th

原创 Android性能優化學習與實踐小結

前言 本文主要是本人這大約一週的時間在項目中進行性能優化的學習與實踐筆記,對於性能優化方面有許多優秀的文章。文中大量引用了其他文章的描述,以及根據自己的理解整理成文,主要是主要從內存和流暢度兩方面出發,對這部分工作的一個小結。老大一直強調

原创 Android開發軟件架構思考以及經驗總結

歡迎關注我的知乎:井方哥 前言 架構設計,到底是什麼呢?基於這段時間的學習和自己的一些思考,我認爲架構是基於產品和技術所達成的一種共識。我不是專業的架構師,也不是經驗老道的開發者。本文目的有三,一是整理這段時間的架構學習和思考以及總結

原创 [Android技術專題]APK瘦身看這一篇文章就夠了

【轉載】張明雲 前言   之前我在微信羣裏面有說到,隨着Android開發越來越成熟,關於Android方面的技術文章越來越多,作爲開發者不缺資源,缺乏的是系統的知識和指導,對於學生和上班族來講,更缺乏篩選信息的時間。從某個角度來講,精心

原创 《Java編程思想》學習筆記:多態

一、後期綁定 對象能夠向上轉型,才能表現出多態。那麼爲什麼可以向上轉型呢?這裏我們需要了解一下幾個概念: 綁定: 將一個方法調用同一個方法的主體聯繫起來,稱作“綁定”; 前期綁定:在程序執行之前進行綁定; 後期綁定:在程序運行時根據對象

原创 [轉]Android優質技術資源合集

本文摘自Open軟件開發小組,作者張明雲。   Android開發在國內越來越成熟,網上的資源也越來越多,質量卻參差不齊。對於忙於學習或工作、很少有自由時間的我們,需要的是省去不必要篩選信息的環節,直接獲取更優質的資源。結合我們團隊平

原创 從MVC到MVP,記一次代碼重構

前言 手底下一直在做一個項目,從交互看起來也沒怎麼複雜,但由於歷史原因,底下有二十多個依賴工程,到目前我也沒有把依賴工程具體的東西搞明白。在代碼裏邊偶爾能看到13年的記錄,也經過了無數人的手。代碼的邏輯結構非常混亂,也許是修修補補太多了吧

原创 秒懂設計模式(一): Builder模式

前言 該設計模式系列爲閱讀《Android源碼設計模式解析與實戰》一書過程中的一些筆記,以及個人的理解。只是想把設計模式理解的更加透徹,說的更加簡單。當然,說的好,不如做的好。學習後,也要儘量學會在項目中實戰。設計模式,不是把一件事情弄的

原创 《Java編程思想》學習筆記:內部類

一、定義 可以將一個類定義到另一個類的內部,這個類就是內部類; 二、分類 1、內部類(內部類對象和外部類對象存在必然的聯繫) 內部類擁有所有外部類所有成員的訪問權,這是因爲應用在創建一個內部類的對象時,這個對象就和製造該對象的外部類有了

原创 《Java編程思想》學習筆記:接口

接口 接口和內部類爲我們提供一種將接口與實現分離的更加結構化發方法; 抽象類和抽象方法 包含抽象方法的類叫做抽象類; 創建抽象類可以使類的抽象性更加明確起來,告訴用戶打算怎樣來使用它們; 是一個不錯的重構工具,可以將公共方法沿着層次結構

原创 Java線程池知識必備

線程池 簡介 線程池的創建 new ThreadPoolExecutor( int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit milliseconds

原创 AndroidStudio使用進階三: 重新認識AndroidStudio&Gradle

[AndroidStudio進階]重新認識AndroidStudio和Gradle 歡迎關注我的知乎:井方哥 前言 主要從AndroidStudio的環境安裝升級,Gradle,Eclipse轉AS,多渠道配置,Maven私服,Act

原创 簡述面向對象的六大原則

單一職責原則 一個類中應該是一組相關性很高的函數、數據的封裝; 開閉原則 定義:對於擴展是開放的,對於修改是封閉的; 理解:意思就是可以任意的往外邊擴展,但是不能對寫好的修改,怎麼達到這個要求呢?寫接口。執行的方法寫成接口,這樣如果我們

原创 《Java編程思想》學習筆記(第二十一章):併發

併發的解決的問題: 速度 設計可管理性 更快的執行 併發可以提高在單處理器上的程序性能; 實現併發最直接的方式是在操作系統級別使用進程; 週期性的將CPU從一個進程切換到另一個進程; 但是JAVA使用的併發系統會共享內存和I/O這樣