Android學習系列(32)–App調試記憶體泄露之Cursor篇

    最近在工作中處理了一些記憶體泄露的問題,在這個過程中我尤其發現了一些基本的問題反而忽略導致記憶體泄露,比如靜態變數,cursor關閉,線程,定時器,反註冊,bitmap等等,我稍微統計並總結了一下,當然了,這些問題這麼說起來比較籠統,接下來我會根據問題,把一些執行個體代碼貼出來,一步一步分析,在具體的情境下,用行之有效方法,找出泄露的根本原因,並給出解決方案。   

Android設計模式系列(1)–SDK源碼之組合模式

Android中對組合模式的應用,可謂是泛濫成粥,隨處可見,那就是View和ViewGroup類的使用。在android UI設計,幾乎所有的widget和布局類都依靠這兩個類。組合模式,Composite Pattern,是一個非常巧妙的模式。幾乎所有的物件導向系統都應用到了組合模式。1.意圖將對象View和ViewGroup組合成樹形結構以表示"部分-整體"的階層(View可以做為ViewGroup的一部分)。組合模式使得使用者對單個對象View和組合對象ViewGroup的使用具有一致性。

Android學習系列(34)–App應用之發布各廣告平台版本

Android的廣告平台是很多的,各市場對各平台的接受程度是不一樣的,Android的開發人員如果想整合廣告基本要考慮下面兩個問題:(1)整合什麼廣告,會賺錢?(2)整合什麼廣告,不會被市場拒絕?最終的結果往往是折中的。第一個問題是廣告平台的判斷問題,我沒有發言權去評論,本文主要是針對第二個問題展開。解決方案就是打包應用的不同廣告平台版本,本文接下來逐一展開相關話題。1.

Android設計模式系列(2)–SDK源碼之觀察者模式

觀察者模式,是一種非常常見的設計模式,在很多系統中隨處可見,尤其是涉及到資料狀態發生變化需要通知的情況下。本文以AbstractCursor為例子,展開分析。觀察者模式,Observer Pattern,是一個很實用的模式,本人曾經接觸到的各種平台以及曾經參與項目中列印模板解譯器中都用到了此模式。1.意圖定義對象間的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並被自動更新。熱門詞彙:依賴 發布-訂閱 事件 通知 更新

Android設計模式系列(3)–SDK源碼之單例模式

單例模式,可以說是GOF的23種設計模式中最簡單的一個。這個模式相對於其他幾個模式比較獨立,它只負責控制自己的執行個體化數量單一(而不是考慮為使用者產生什麼樣的執行個體),很有意思,是一個感覺上很乾淨的模式,本人很喜歡這個模式。android中很多地方都用到了單例模式,本文以IME管理者InputMethodManager為例,展開分析。單例模式,Singleton

Android設計模式系列(4)–SDK源碼之模板方法模式

模板方法,和單例模式是我認為GOF的23中最簡單的兩種模式。但是我個人對模板方法的經典思想特別推崇,雖然模板方法在大對數情況下並不被推薦使用,但是這種通過父類調用子類的方法,使用繼承來改變演算法的一部分,是物件導向的一種基本認識。打比方說父親有很多理想,就行醫救人吧,但是父親醫術不行,只能靠兒子,兒子長大後遵從父親大志,春風拂面,妙手回春,實現了父親的理想,兒子做的事情早在出生前就定下來了,是父親之前久定好的模板。認識到模板方法的這種思想,父類可以讓未知的子類去做它本身可能完成的不好或者根本完成

Android設計模式系列(5)–SDK源碼之備忘錄模式

備忘錄模式,在工作代碼中,要麼不用,要麼經常用到。舉個例子,程式員喜歡寫代碼,coding,coding,這個時候它的狀態是很high,但是每隔一段時間總要去上一下廁所,狀態是放鬆relax,上完測試歸來後又恢複到high的狀態,繼續coding。這個過程對於身後的老闆來說,它預設同意你離開去上廁所,他也希望你回來後恢複high的狀態繼續工作,但是你在這個過程中上廁所的這件事,他是不需要瞭解細節的,而且做為當事人你也不希望他瞭解你上廁所的細節吧,你只要回來後恢複激情high著繼續工作,老闆應該就

Android學習系列(16)–App列表之圓角ListView

有些東西看多了,就厭煩了:extjs對我這種感覺最為強烈。甚至,有時覺得設計之殤是審美疲勞。直角看多了,就想看看圓角,不知何時,這幾年颳起了一陣陣的圓角設計風:CSS新標準納入圓角元素,iphone中幾乎隨處可見圓角設計,也開始出現很多圓角名片了...今天我們就實現一個圓角的ListView效果。圓角的設計,我們並不追求到處都用,無處不用,android中有少數介面用直角確實容易顯得鋒利,和周邊介面太過對比而顯得不協調,比如大欄目列表,設定等等,而採用圓角實現,則會活潑,輕鬆的多,也融合的特別好

Android學習系列(20)–App資料格式之解析Json

     JSON資料格式,在Android中被廣泛運用於用戶端和網路(或者說伺服器)通訊,非常有必要系統的瞭解學習。     恰逢本人最近對json做了一個簡單的學習,特此總結一下,以饗各位。     為了文章簡明清晰,盡量多列點,少廢話。     參考文檔:http://www.ietf.org/rfc/rfc4627.txt?number=46271.JSON解析   

Android學習系列(17)–App列表之圓角ListView(續)

本來這篇文章想併到上篇Android學習系列(16)--App列表之圓角ListView中的,但是若是如此就讓大家錯過一篇新的好的文章,著實可惜。上篇中我們使用shape,corners,gradient實現了一個漸層的圓角效果,但是在完文之後的實踐中,我發現有時效果不甚滿意,選中和放手的事件監聽沒有去正確的判斷,然後漸層效果也比較單一,效能也覺得不是很快,不如用圖片來的驚豔和迅速,又懶的去改原來的,所以我又用圖片來實現一個更完美的效果。1.

Android學習系列(15)–App列表之遊標ListView(索引ListView)

      遊標ListView,提供索引標籤,使使用者能夠快速定位清單項目。      也可以叫索引ListView,有的人稱也為Tweaked ListView,可能更形象些吧。      一看圖啥都懂了:1.遊標(Fast scroll thumb)      就是右邊的那個拖動的方塊,這個非常的簡單: <ListView android:id="@+id/tweaked_list"

Android學習系列(24)–App代碼規範之使用CheckStyle

最近經常思考團隊開發的一些東西,其中代碼風格不統一是最常見的問題之一。按理說,大家協商和溝通一下,風格統一一下就可以了,其實不然,因為這是個個性張揚的時代!工作code

Android學習系列(22)–App主介面比較

本文算是一篇漫談,談一談當前幾個流行應用的主介面布局,找個經典的布局我們自己也來實現一個。不是為了追求到底有多難,而是為了明白我們確實需要這麼做。 走個題,android的UI差異化市場依然很大,依然值得去挖掘。 鑄就經典,是為了超越經典!下面我們以下面10個應用來分析比較它們的主介面:1.QQ20112.新浪微博3.鳳凰周刊4.小米讀書5.6.太平洋電腦網7.360衛士8.Camera3609.福士點評網10.挖財1.QQ2011QQ應用最新版本QQ2011

Android拓展系列(3)–Android源碼下載

前幾天,又切換回ubuntu11.04系統了,體驗以下unity案頭。 android系統源碼(包括sdk源碼)的下載主要是需要用到git工具,關於git工具的使用我會抽空專門介紹,這裡用到的時候簡略說明一下。1.安裝git和curl命令:$sudo apt-get install git-core curl說明:      curl是一個向伺服器或從伺服器傳輸資料的工具,它支援HTTP 、HTTPS、FTP 、 FTPS 、

Android學習系列(23)–App主介面實現

在上篇文章《Android學習系列(22)--App主介面比較》中我們淺略的分析了幾個主介面布局,選了一個最福士化的經典布局。今天我們就這個經典布局,用代碼具體的實現它。1.預覽圖先看下最終的介面設計圖:  上面頂部是一個9patch背景圖片+標題文字;下面底部是5個tab標籤,表示應用的5大模組。中間內容部分則是各個模組的具體內容,可以再分類,或者直接顯示內容。 2.準備素材按照上篇文章的介面,我們需要事先提供兩大方面的素材:頂部+底部。頂部的素材非常簡單,最重要的是背景(9patch的圖片)

Android拓展系列(2)–Git使用

git是免費的開源的分布式的版本控制系統。我說的直白點,要強調的點是每個git

Android學習系列(29)–App調試的幾個命令實踐

在Android的應用開發中,我們會用到各種代碼調試;其實在Android的開發之後,我們可能會碰到一些隨機的問題,如cpu過高,記憶體泄露等,我們無法簡單的進行代碼調試,我們需要一個系統日誌等等,下面我把握工作中碰到的幾個常用命令和方法給大家示範實踐一下。1.logcat命令這個命令最簡單常用,可查看協助,我不多說,如果需要列印時間,加參數-v timeadb logcat -v time

Android拓展系列(5)–CyanogenMod源碼下載和編譯(Android ROM定製基礎篇)

本來想下載Android官方原始碼,沒想到android.git.kernel.org維護,不能訪問,非常遺憾,並因此還鬱悶了幾天。 後來轉投MIUI,沒找到它的源碼,不知道它的"超過40萬人社區Team Dev"是什麼意思,求解具體開發人員幾何,都是誰?後來一想,竟然忘記了CyanogenMod這茬,這可是的的確確的開源啊,My Phone一直也在用CyanogenMod系統的,感覺確實不錯。1.準備我得環境如下,VirtualBox 4.1.2.r73507Ubuntu11.10 Beta2

Android設計模式系列(0)–開篇

=======================2011-08-26==================================有時候,最難的是堅持;有時候缺少的是信念。=======================2011-08-07==================================從接觸設計模式到如今大概4年左右的時間,一直都想有朝一日定要精通,坐於床頭,側望左右,設計模式的書買了7,8本了,也看了很多參考和視頻,也用到了一些。但是今天我終於停下來,停下來梳理,停下來

Android拓展系列(6)–CM9源碼下載和編譯

公司最近也開始基於android4.0 ICS修改架構了,公司的手機暫時不適合拿回家測試,也沒有kernel的許可權。從個人的角度看,我手上現在有兩部手機,一部是Htc G9 Aria,一部是Samsung I9100

總頁數: 2771 1 .... 273 274 275 276 277 .... 2771 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.