前言 一個(gè)窗口里面的所有的普通View都會(huì)共享一個(gè)Surface翁授,這個(gè)Surface保存在ViewRootImpl里面远剩。但是SurfaceView不同虐沥,SurfaceView...
前言 一個(gè)窗口里面的所有的普通View都會(huì)共享一個(gè)Surface翁授,這個(gè)Surface保存在ViewRootImpl里面远剩。但是SurfaceView不同虐沥,SurfaceView...
JVM運(yùn)行時(shí)數(shù)據(jù)區(qū): 虛擬機(jī)棧虛擬機(jī)棧包含了局部變量表胡诗,操作數(shù)棧陡舅,動(dòng)態(tài)鏈接价匠,方法出口等残炮。每個(gè)方法從執(zhí)行到完成就是一個(gè)棧幀入棧到出棧的過(guò)程半等,出棧以后會(huì)返回一條字節(jié)指令的地址( ...
前言 Glide 這個(gè)三方庫(kù)使用起來(lái)非常簡(jiǎn)單Glide.with(this).load("").into(imageView)蜈缤。便可以將資源圖片加載到對(duì)應(yīng)的控件上面而且 Gl...
一拾氓、背景 1.1、控件效果 要實(shí)現(xiàn)的自定義控件效果大致如下底哥,實(shí)現(xiàn)過(guò)程中用到了比較多的自定義View的API咙鞍,覺(jué)得比較有代表性,就分享出來(lái)也當(dāng)做學(xué)習(xí)總結(jié)項(xiàng)目代碼已上傳githu...
WebSettings用于管理WebView狀態(tài)配置趾徽,當(dāng)WebView第一次被創(chuàng)建時(shí)续滋,WebView包含著一個(gè)默認(rèn)的配置,這些默認(rèn)的配置將通過(guò)get方法返回孵奶,通過(guò)WebVie...
在《iPhone屏幕分辨率和適配規(guī)則(基礎(chǔ)篇)》疲酌,《iPhone屏幕分辨率和適配規(guī)則(規(guī)則篇)》和《iPhone屏幕分辨率和視頻規(guī)則(實(shí)現(xiàn)篇)》中已經(jīng)介紹了iPhone的屏幕...
一朗恳、 拆分使用 先創(chuàng)建被觀察者和觀察者湿颅,然后建立訂閱關(guān)系,這樣在觀察者中就會(huì)接收到個(gè)生命周期的回調(diào): 運(yùn)行結(jié)果: 二粥诫、 鏈?zhǔn)秸{(diào)用(一般都是這種寫(xiě)法): 三油航、更簡(jiǎn)單的觀察者 C...
理一下Handler消息分發(fā)流程谊囚,一定離不開(kāi)這幾個(gè)類:Handler:用于消息發(fā)送和接收Message:消息MessageQueue:消息隊(duì)列,用于存儲(chǔ)消息Looper:循環(huán)...
首先是來(lái)一段寫(xiě)了一萬(wàn)遍的代碼执赡,Handler的基本使用 毫無(wú)疑問(wèn)textView直接被改成了“二二三四”镰踏,那第一個(gè)問(wèn)題問(wèn)題來(lái)了: 一、可不可以在子線程里直接修改textVie...
責(zé)任鏈模式(Chain of Responsibility Pattern):避免請(qǐng)求發(fā)送者與接收者耦合在一起沙合,讓多個(gè)對(duì)象都有可能接收請(qǐng)求余境,將這些對(duì)象連接成一條鏈,并且沿著這...
構(gòu)造者模式(Builder Pattern)主要用于復(fù)雜對(duì)象的構(gòu)建灌诅,將一個(gè)復(fù)雜對(duì)象的構(gòu)造過(guò)程和它的表現(xiàn)層分離開(kāi)來(lái)。 直接擼個(gè)蓋房子的例子含末。這里三個(gè)類: BuildingDes...
DataBinding做了什么之前分析過(guò)了猜拾,DataBinding跟MVVM并沒(méi)有什么直接的聯(lián)系,在MVC佣盒、MVP中同樣可以使用挎袜,只是這里的MVVM是用DataBinding...
沒(méi)有MVVM!沒(méi)有MVVM肥惭!沒(méi)有MVVM盯仪! 一、dataBinding用法 app的build.gradle中添加依賴: 定義一個(gè)mode蜜葱,兩種寫(xiě)法是一樣的l: 布局的寫(xiě)法要...
APT(Annotation Processing Tool)全景,根據(jù)注解自動(dòng)給生成代碼。JavaPoet牵囤,代碼生成框架爸黄。要自動(dòng)生成類文件,JavaPoet并不是必須的揭鳞,比如J...
這里的組件化每個(gè)模塊可以單獨(dú)運(yùn)行炕贵、打包、測(cè)試野崇,可隨意拆卸称开、隨意組裝,既不互相依賴又可以互相調(diào)用。是通過(guò)在一個(gè)Project下通過(guò)創(chuàng)建多個(gè)Module實(shí)現(xiàn)的鳖轰。假設(shè)三個(gè)模塊:Ap...
通常項(xiàng)目中使用MVP架構(gòu)并不會(huì)像MVP基礎(chǔ)結(jié)構(gòu)Demo中這樣直接把類寫(xiě)死,而是要進(jìn)行基類抽取脆霎,面向接口总处。 創(chuàng)建三個(gè)基類:BaseModel、BaseView睛蛛、BasePres...
AOP:面向切面編程鹦马。什么是切面?在開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)遇到這樣的邏輯忆肾,在點(diǎn)擊不同的按鈕跳轉(zhuǎn)的時(shí)候都需要判斷是否已經(jīng)登錄荸频,在數(shù)據(jù)庫(kù)增刪改之前都要先進(jìn)行備份操作。這種共同的邏輯就可...
本文實(shí)現(xiàn)通過(guò)OpenGL在屏幕上畫(huà)出一寫(xiě)簡(jiǎn)單圖形(三角形客冈、等腰三角形旭从、矩形)。 開(kāi)擼碼前先了解一些概念性的東西: 什么是OpenGL场仲?Open Graphics Librar...