原创 Android圖片加載方案--Bitmap的內存管理和優化方案

轉載自:http://blog.csdn.net/mxm691292118/article/details/51028953 一、加載按顯示需要的比例縮小的圖片 1、先來說說屏幕密度 在Android中,Imageview控件

原创 android 如何查找內存泄漏

轉載自https://blog.csdn.net/itachi85/article/details/77826112?utm_source=gold_browser_extension https://blog.csdn.net

原创 android 網絡連接保活

轉載自: http://www.infoq.com/cn/articles/wechat-android-background-keep-alive http://www.52im.net/thread-341-1-1.htm

原创 android activity 四大啓動模式及使用場景

轉載自:https://blog.csdn.net/YeeCeeYee/article/details/64958184 android activity的啓動模式有4種。分別是standard,singleTop,singleT

原创 命令模式----讀書筆記

定義 命令模式將“請求”封裝成對象,以便使用不同的請求、隊列或者日誌來參數化其他對象。命令模式也支持撤銷操作。 例子 我們寫一個遙控器的例子。在遙控器上按lightOn的按鈕,遠程控制電燈打開。 interface Command

原创 android 內存泄漏原因及解決方案

轉載自:https://blog.csdn.net/u012482178/article/details/78988176 https://blog.csdn.net/u010687392/article/details/499

原创 c++ 之類成員

可變數據成員 有時(但不會特別頻繁)會發生這樣一種情況,我們希望能修改類的某個數據成員,即使是在一個const成員函數內,可以通過在變量的聲明中加入mutable關鍵字做到這一點。 一個const成員函數可以改變一個可變成員的值。

原创 android 觸摸事件傳遞機制

一次完整的事件傳遞主要包括三個階段,分別是事件的分發、攔截、和消費。 事件傳遞的三個階段 分發(dispatch) 事件分發對應dispatchTouchEvent方法,在安卓系統中,所有的觸摸事件都是通過這個方法來分發的

原创 c++ 之類的控制與封裝

class和struct的區別 我們可以使用class 和struct 的任何一個來定義類,唯一的一點區別就是struct和class的訪問權限不太一樣。 當我們希望定義的類的所有成員是publ的是,使用struct,反之,如果希

原创 android view的繪製流程

當一個應用啓動的時候,會啓動一個主activity,android系統會根據activity的佈局來對它進行繪製。每個view負責繪製自己,而viewgroup還需要負責通知自己的子view進行繪製操作。視圖繪製的過程可以分爲三個

原创 代理模式------讀書筆記

意圖 代理模式主要是爲了控制對象的訪問,意圖只要有以下三種: 1、代理模式主要是爲另一個對象提供代理,以控制對另一個對象的訪問。 2、通過代理間接支持分佈式、受控以及智能訪問, 3、添加一個包裝器或者委託以保護真正的組件不受過度複雜性

原创 kotlin伴生對象

Kotlin中沒有靜態成員,主要原因在於它允許包級屬性和函數的存在;Kotlin爲靜態成員提供了多種替代的方案: 使用包級屬性和函數:主要用於全局常量和工具函數; 使用伴生對象:主要用於與類有緊密聯繫的變量和函數; 使用@JvmSta

原创 從原理分析Kotlin的延遲初始化: lateinit var和by lazy

Koltin中屬性在聲明的同時也要求要被初始化,否則會報錯。例如以下代碼:private var name0: String //報錯private var name1: String = "xiaoming" //不報錯pri

原创 單例模式----讀書筆記

單例模式—讀書筆記 單例模式,顧名思義,就是用來創建一個獨一無二的,只能有一個實例的對象的入場券。因爲在實際應用中,有些對象我們只需要一個,比如說,線程池、緩存、對話框、註冊表等。 當然,我們也可以使用全局對象來達到和單例模式一樣的作

原创 工廠模式讀書筆記

簡單工廠模式 在我們平時的編碼過程中,我們會經常使用到new,而當我們使用new的時候,就會想到"具體",因爲我們的確是在實例化一個具體類,這樣子,可能會導致代碼更脆弱。比如說,我們可能會寫出以下代碼: Duck duck; if(p