Time of Update: 2017-02-27
Android程式中一旦載入的圖片比較多,就有可能出現Out of Memory而導致程式崩潰。這個一方面是因為Android系統本身對於每個單獨的進程有記憶體大小的限制(有16M,64M,128M,256M等等),另一方面是因為Android系統對於圖片資源的記憶體回收比較慢(文章http://jiangnane.com/index.php/archives/230中對Android源碼進行了分析,發現Android的setImageViewBitmap(Bitmap
Time of Update: 2017-02-27
這些天在寫android應用,遇到了一件很詭異的事情:某個圖片資源作為背景被設定到layout上,在eclipse的layout設計介面內能顯示,但是啟動模擬器後圖片完全無法顯示;我將應用打包到真機上測試,發現圖片能顯示!但事實遠未那麼簡單。。後來我將應用打包給我的幾個朋友測試,發現圖片又是無法顯示。其中,我的應用程式支援的版本是2.1,模擬器版本是2.1,我的機器版本是4.0,兩個朋友的機器分別是2.1和2.3。於是我猜想該圖片在2.1和2.3上不相容,於是單獨建立一個工程,對該圖進行測試,結
Time of Update: 2017-02-27
在上一篇《Android多線程研究(5)——線程之間共用資料》中對線程之間的資料共用進行了學習和研究,這一篇我們來看看如何解決多個線程之間的資料隔離問題,什麼是資料隔離呢?比如說我們現在開啟了兩個線程,這兩個線程都要同時給同一個全域變數data賦值,各個線程操作它賦值後的變數資料,這裡就需要用到隔離。先看一段代碼:import java.util.Random; public class ThreadLocalTest {
Time of Update: 2017-02-27
有一道這樣的面試題:開啟一個子線程和主線程同時運行,子線程輸出10次後接著主線程輸出100次,如此反覆50次。先看下面代碼:package com.maso.test; /** * * @author Administrator * 兩個線程,其中是一個主線程,第一個線程先運行輸出10次,主線程接著運行輸出100次,如此反覆50次 */public class ThreadTest3 implements Runnable{ private static
Time of Update: 2017-02-27
從今天起我們來看一下Android中的多線程的知識,Android入門容易,但是要完成一個完善的產品卻不容易,讓我們從線程開始一步步深入Android內部。一、線程基礎回顧package com.maso.test; public class TraditionalThread { public static void main(String[] args) { /* * 線程的第一種建立方式 */
Time of Update: 2017-02-27
看到一個帖,做的筆記,文章在:http://topic.csdn.net/u/20110304/15/ae5279b1-692e-48a7-a5b9-0e579a3a6974.html我想記錄的是:做提醒功能的一個服務,自動解鎖+亮屏。寫一個Activity啟動該服務即可,用一個線程開啟服務,要是黑屏的狀態下啟動才有效果。import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock;
Time of Update: 2017-02-27
前言一般頻繁切換Fragment會導致頻繁的釋放和建立,如果Fragment比較臃腫體驗就非常不好了,這裡分享一個方法。一、應用情境1、不使用ViewPager2、不能用replace來切換Fragment,會導致Fragment釋放(調用onDestroyView)二、實現1、xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2017-02-27
最近在搞android 新浪微部落格戶端,有一些心得分享弄android用戶端表情功能可以用以下思路1.首頁把新浪的表情下載到本地一檔案夾種,表情圖片的命名要用新浪微博表情原來的命名比如 新浪的害羞表情是shame.gif
Time of Update: 2017-02-27
錯誤碼:12-12 14:28:34.692: E/AndroidRuntime(1524): java.lang.RuntimeException: startPreview failed12-12 14:28:34.692: E/AndroidRuntime(1524): at android.hardware.Camera.startPreview(Native Method)12-12 14:28:34.692: E/AndroidRuntime(1524): at
Time of Update: 2017-02-27
需要的功能很簡單,就是一個帶checkbox的列表,提交時需要知道使用者選擇了那些項目,如下圖:使用SimpleAdapter作為資料配接器,重寫SimpleAdapter.ViewBinder的方法,這樣用比自訂Adapter要方便點,代碼如下datas定義是private List<Map<String, Object>> datas=null;其中讓Map中儲存一項自我引用(my)綁定到checkBoxprivate Map<String,
Time of Update: 2017-02-27
1.背景即將結束在sony移動的實習了,在最後的日子有一些傷感有一些感觸,對於android這個傾注一年心血的技術有太多話要說。感謝sony移動的各位大牛們給我這個機會,讓我徹徹底底的看清了android的本質。沒有這次工作經曆,我對android的印象可能會一直停留在sdk層。這一年陸陸續續的寫關於android方面的部落格,算上這一篇應該正好20篇。從最初的介紹一些小控制項的使用,到現在寫一些簡單的源碼操作,是時候寫一篇總結了。。。2.需要的資料胡亂扯一下學習android源碼所需要的便利條
Time of Update: 2017-02-27
1.背景在android源碼中我們能看到各種以@開頭的字元,他們大多出現在注釋中,如下圖所示但是可不要小看了它們地作用,昨天當我編譯源碼的時候,就在一個“@link”處報錯了,下面就總結下常用的@字元的意義。2.總結篇(1)最討厭的@字元<span
Time of Update: 2017-02-27
1.背景上一篇講了在源碼中捕獲到了android手機的截屏函數(同步選取電源鍵與音量減,詳情http://blog.csdn.net/buptgshengod/article/details/19911909),經過一周的研究還是沒有在手機上實現系統截屏功能,總結下嘗試的方法與失敗的原因。2.失敗方法分析(1)bufferframe讀取fb0在手機的/dev/graphics目錄下的fb0檔案是負責螢幕渲染的幀緩衝,網上有一些教程講如何用c將手機中的fb0轉換成bmp格式的圖片。我在androi
Time of Update: 2017-02-27
最近一直在用adb shell操作一些android代碼方面的東西,在這裡記錄下來,今後遇到新的再不段補充。1.pull命令,將手機中的檔案pull到pc上(將sd卡中的13.png放到電腦端)adb pull /sdcard/13.png /home/CORPUSERS/288522622.對應的push命令adb push sth sdcard/tesseract/tessdata/3.授權chmod 777 /system4.截圖adb shell
Time of Update: 2017-02-27
有的時候當我們調試android程式時,往往因為installfailedinsufficientstorage這個問題而不能將工程檔案讀入調試機,看似是由於記憶體空間不足,其實往往我們騰出了空間也不能解決這個問題。為了根本解決這個錯誤,下面提供一種解決方案。方法非常簡單:在AndroidManifast.xml中插入這句話android:installLocation="preferExternal"具體位置如圖查看本欄目更多精彩內容:http://www.bianceng
Time of Update: 2017-02-27
很多時候當我們發現從網上下載的一些工程無法使用,只有R布局檔案報錯的時候,多數原因是工程本身的target和自身eclipse的target不符合。而自己的target可以從Project-Properties中獲得。如圖中target為18.此時只要修改下載的檔案的target為我們eclipse的target值即可。在AndroidManifest.xml檔案中是設定最小targe為8,最大為18.在project.properties檔案中,制定target數值查看本欄目更多精彩內容:ht
Time of Update: 2017-02-27
在進行網路狀況分析的時候,tcpdump和wireshark是必不可少的工具,手機上進行網路分析也是如此。在此之前,我都是在手機上使用tcpdump抓包之後,儲存成一個.pacp檔案,之後再在PC上使用wireshark來進行分析。在看到了參考網站中的內容之後,發現其實還有更加簡便的方法,通過adb
Time of Update: 2017-02-27
大家好,今天給大家帶來一個仿360手機衛士懸浮窗效果的教程,在開始之前請允許我說幾句不相干的廢 話。不知不覺我發現自己接觸Android已有近三個年頭了,期間各種的成長少不了各位高手的協助, 總是有很多高手喜歡把自己的經驗寫在網上,供大家來學習,我也是從中受惠了很多,在此我深表感謝。可 是我發現我卻從來沒有將自己平時的一些心得拿出來與大家分享,共同學習,太沒有奉獻精神了。於是我痛
Time of Update: 2017-02-27
前言Android Build 系統是 Android 源碼的一部分。關於如何擷取 Android 源碼,請參照 Android Source 官方網站:http://source.android.com/source/downloading.html。Android Build 系統用來編譯 Android 系統,Android SDK 以及相關文檔。該系統主要由 Make 文 件,Shell 指令碼以及 Python 指令碼組成,其中最主要的是 Make 檔案。眾所周知,Android
Time of Update: 2017-02-27
1.1 Gralloc與Framebuffer相信做過Linux開發的人對framebuffer不會太陌生,它是核心系統提供的一個與硬體無關的顯示抽象層。之所以稱之為buffer,是由於它也是系統儲存空間的一部分,是一塊包含螢幕顯示資訊的緩衝區。由此可見,在“一切都是檔案”的Linux系統中,Framebuffer被看成了終端monitor的“化身”。它藉助於檔案系統向上層提供統一而方便的操作介面,從而讓使用者空間程式可以不用修改就能適應多種螢幕&