原创 Java內存分配

本文將由淺入深詳細介紹Java內存分配的原理,以幫助新手更輕鬆的學習Java。這類文章網上有很多,但大多比較零碎。本文從認知過程角度出發,將帶給讀者一個系統的介紹。 進入正題前首先要知道的是Java程序運行在JVM(Java Virtu

原创 編譯型 解釋型

計算機並不能直接接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過一種翻譯程序翻譯成機器語言形式的目標程序,計算機才能識別.這種翻譯程序有兩種形式:一種是編譯方式,一種是:解釋方式.        那什麼是編譯方式和解釋方式

原创 Android系統框架

      從上圖中可以看出,Android系統架構爲四層結構,從上層到下層分別是應用程序層、應用程序框架層、系統運行庫層以及Linux內核層,分別介紹如下:     1)應用程序層          Android平臺不僅僅是操作系統,

原创 Serizlizable Parcelable

android 中自定義的對象序列化的問題有兩個選擇一個是Parcelable,另外一個是Serializable。 一 序列化原因: 1.永久性保存對象,保存對象的字節序列到本地文件中; 2.通過序列化對象在網絡中傳遞對象; 3.通

原创 Gradle基礎

根目錄的build.gradle 該gradle文件是定義在這個工程下的所有模塊的公共屬性,它默認包含二個方法: buildscript { repositories { jcenter() }

原创 Java內存

Java內存管理:深入Java內存區域   本文引用自:深入理解Java虛擬機的第2章內容   Java與C++之間有一堵由內存動態分配和垃圾收集技術所圍成的高牆,牆外面的人想進去,牆裏面的人卻想出來。   概述:   對於從事

原创 強引用,軟引用,弱引用,虛引用

  SoftReference、Weak Reference和PhantomRefrence分析和比較   本文將談一下對SoftReference(軟引用)、WeakReference(弱引用)和PhantomRefrence(虛引

原创 第三方包和主包引了相同的基礎庫

gradlew -q app:denpendencies 1、以倉庫方式引入,會取高版本(基礎包包名一樣的情況下) compile(group: 'com.bumptech.glide', name: 'glide', version

原创 toolbar

原创 屏幕適配

本文將告訴你如何讓你的應用程序支持各種不同屏幕大小,主要通過以下幾種辦法: 讓你的佈局能充分的自適應屏幕根據屏幕的配置來加載合適的UI佈局確保正確的佈局應用在正確的設備屏幕上提供可以根據屏幕大小自動伸縮的圖片 使用 "wrap

原创 Eclipse 調試

摘要:調試不僅可以查找到應用程序缺陷所在,還可以解決缺陷。對於Java程序員來說,他們不僅要學會如何在Eclipse裏面開發像樣的程序,更需要學會如何調試程序。本文介紹了Java程序員必知的10個調試技巧,保證讓你受益匪淺! 調試可

原创 字符集編碼

1.基礎知識 計算機中儲存的信息都是用二進制數表示的;而我們在屏幕上看到的英文、漢字等字符是二進制數轉換之後的結果。通俗的說,按照何種規則將字符存儲在計算機中,如'a'用什麼表示,稱爲"編碼";反之,將存儲在計算機中的二進制數解析顯示

原创 內存泄露

一、Handler,Message,Runnable   考慮下面的代碼:  public class SampleActivity extends Activity { privatefinal Handler mLeakyHa

原创 UncaughtExceptionHandler

 如果使用默認的UncaughtHandler,則崩潰後會彈出 系統的『XX應用停止運行』對話框 自定義 unCaughtExceptionHandler Thread.setDefaultUncaughtExceptionHandl

原创 單例模式

我們第一次寫的單例模式是下面這個樣子的:   Java代碼   /**  * 實現單例訪問Kerrigan的第一次嘗試  */  public class SingletonKerriganA {         /**