相信一步步走過來的Android從業者,每個人都會遇到OOM的情況。如何避免和防範OOM的出現,對於每一個程式員來說確實是一門必不可少的能力。今天我們就談談在Android平台下記憶體的管理之道,開始今天的主題之前,先再次回顧兩個概念。記憶體流失:對象在記憶體heap堆中中分配的空間,當不再使用或沒有引用指向的情況下,仍不能被GC正常回收的情況。多數出現在不合理的編碼情況下,比如在Activity中註冊了一個廣播接收器,但是在頁面關閉的時候進行unRegister,就會出現記憶體溢出的現象。通常
adb是什麼?adb的全稱為Android Debug Bridge,就是起到調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程式,說白了就是debug工具。adb的工作方式比較特殊,採用監聽Socket TCP
android5.0之前使用的虛擬機器是Dalvik虛擬機器,這個虛擬機器在JVM的基礎上做了一定的最佳化。android5.0之後,android採用了新的虛擬機器ART,本文主要對Dalvik、JVM、ART之間進行對比。一.Dalvik虛擬機器1.概念Dalvik虛擬機器是Android程式的虛擬機器,是Android中Java程式的運行基礎。其指令集基於寄存器架構,執行其特有的檔案格式——dex位元組碼來完成對象生命週期管理、堆棧管理、線程管理、安全異常管理、記憶
Fragment(片段)將Activity拆分成多個完全獨立封裝的可重用的組件, 每個組件包含獨立的生命週期和UI布局.Fragment是獨立的模組, 可以在正在顯示的Activity中添加\刪除\更換Fragment;Fragment需要分配相應的UI, 不需要在manifest.xml進行註冊, 因為Fragment的生命週期依賴於Activity.Fragment的生命週期:使用Fragment構建Activity UI的優勢是可靈活地,
Android允許從已有的視圖工具箱(Widget Tool Box)派生子類 或 實現自己的視圖控制項;通過重寫事件處理常式 和onDraw()方法, 但是仍然回調超類(super)的方法, 可以對視圖進行定製, 而不必實心它的功能;前置步驟參見: http://blog.csdn.net/caroline_wendy/article/details/21246963步驟:1. 建立ToDoListItemView類, 定製Item項的外觀:位置:
Compass(羅盤)是一個定製的視圖, 繼承View類, 重寫了視圖的邊界(onMeasure)和內容(onDraw);如圖:以下是Compass的具體設計:1. 建立CompassView類, 羅盤視圖位置: java->package->CompassViewpackage mzx.spike.compass.app; import android.content.Context; import android.content.res.Resources;
Android API: http://developer.android.com/reference/android/content/Intent.htmlContactPicker:使用者可以選擇一個連絡人.1. 建立ContactPicker活動(Activity)位置: java->package-> ContactPicker.javapackage mzx.spike.contactpicker.app; import
最近在研究Android、JS相互調用,之前沒怎麼接觸過,只知道loadUrl()就可以載入一個網頁了,研究過之後發現Android可以調JS,JS也可以調Android原生控制項,很開心啊。下面小編就開始嘍:原理就是Java和JS調用,在Android中是通過WebView來實現的。下面先說一下簡單的Android和JS相互調用 首先通過loadurl()來載入網頁 WebView開啟JS指令碼執行 Android端提供JS調用的互動介面 簡單的看一下代碼:mWebView=(
ProgressDialog(精度條對話方塊):1.直接調用ProgressDialog提供的靜態方法show()顯示2.建立ProgressDialog,再設定對話方塊的參數,最後show()出來package com.example.test3;import android.app.Activity;import android.app.ProgressDialog;import android.content.Context;import android.os.Bundle;import
今天周日,不適合出門,太冷了,俗說:一九二九不出手,三九四九零來走。。我們的應用也可以有一些冬天的效果, 教大家做一個下雪的動畫效果, 參考.主要(1) 隱藏status bar, 全螢幕顯示圖片. (2) 繪製多個點, 實現移動效果. (3) 回收點, 避免重複建立.我喜歡用注釋說話, 請大家多關注代碼中的注釋.Github下載地址1. 雪花類雪花的屬性包含: 隨機量, 位置, 增量, 大小, 角度, 畫筆.繪畫的過程中, 使用角度會移動點的位置, 每次速率都不同.當雪花移出螢幕時,
現在有很多App支援右滑返回,比如知乎,效果比較贊。於是自己對Activity和Fragment進行了繼承,派生出SwipeBackActivity和SwipeBackFragment,用於對這種效果的實現,也就是只要繼承這兩個類就可以了。效果如下 Activity Fragment
本文執行個體講述了Android實現Toast提示框圖文並存的方法。分享給大家供大家參考,具體如下:程式如下:import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.text.util.Linkify;import android.view.Gravity;import android.view.View;import
Java
Android開發9:網路訪問&Web服務開發,android開發9訪問前言 啦啦啦各位小夥伴們好~ 一起進入我們今天的主題。今天我們將和大家學習網路訪問和Web服務開發的相關知識,一起學習熟練使用 HttpURLConnection 訪問 WebService,熟悉使用多線程以及 Handler 更新 UI,熟悉使用 XmlPullParser 解析 xml 文檔資料,瞭解 RecyclerView 控制項的使用。 基礎知識一、網路訪問&Web服務開發
5個Android開發中比較常見的記憶體流失問題及解決辦法,android比較常見android中一個對象已經不需要了,但是其他對象還持有他的引用,導致他不能回收,導致這個對象暫存在記憶體中,這樣記憶體流失就出現了。 記憶體流失出現多了,會是應用佔用過多的沒存,當佔用的記憶體超過了系統分配的記憶體容量,就會出現記憶體溢出了導致應用Crash. 瞭解了記憶體流失的原因及影響後,我們需要做的就是掌握常見的記憶體流失,並在以後的Android程式開發中,盡量避免它。下面搜羅了5個A
Android
git詳解,gitgit詳解git是從android出現,就作為版本管理工具。由於很多人從svn開始使用,簡單的check in & check out操作,很難理解和適應通過命令列操作的git的管理。所以很多人繼續使用圖形介面的git管理工具,尤其android
Android 第三方類庫簡單使用之EventBus,androideventbusAndroid 第三方類庫之EventBus 1 PS 工欲善其事必先利其器. Eventbus也是一款在開發中常用的利器 這篇也對EventBus的簡單介紹和使用,與之前個xutils介紹的層級一樣.http://www.cnblogs.com/greentomlee/p/6025470.html 作者:修雨軒陳 @部落格園 2 簡介 開源項目地址: https://github.com/greenrobot/
cocos的Director、Scence、Layer(一)---摘自於官方文檔,cocosscence基本結構圖(重要)Director: 有那些作用? OpenGL ES的初始化,情境的轉換,遊戲暫停繼續的控制,全局座標和GL座標之間的切換,對節點(遊戲元素)的控制,遊戲資料的儲存調用,螢幕尺寸的擷取 控制情境的常用方法 runWithScene( Scene *scene )
『BUG』Android Studio 64位 始終提示 JVM 啟動不了,JDK配置失敗,error code,androidjvm前幾天 安裝了 Android Studio 2.2。本來一切都好,但是當我修改了 設定檔 studio64.exe.vmoptions 想修改 最大記憶體(保證運行流暢)後,AS 就再也運行不了了。報錯內容大意是: error code -1,必須配置 JAVA_HOME 參數,而且這個參數 不能指向 JRE,必須指向 JDK。