原创 SurfaceView理解

1、SurfaceView的作用 大多數情況下我們的自定義View都會選擇去繼承View或ViewGroup來實現,但是爲什麼系統還要爲我們提供一個SurfaceView呢? 首先我們知道View類如果需要更新視圖,必須我們主動的

原创 abd工作原理

一、adb是什麼 Android 調試橋 (adb) 是一種功能多樣的命令行工具,可讓您與設備進行通信。adb 命令可用於執行各種設備操作(例如安裝和調試應用),並提供對 Unix shell(可用來在設備上運行各種命令)的訪問權

原创 java map set list的區別

1、集合架構圖 2、集合之間的區別 (1)、 List 有序,可重複 ArrayList 優點: 底層數據結構是數組,查詢快,增刪慢。 缺點: 線程不安全,效率高 Vector 優點: 底層數據結構是數組,查詢快,增刪慢。 缺

原创 常見的時間複雜度和排序算法

1、常見的時間複雜度 (1)O(1):常量階,運行時間爲常量 (2)O(logn):對數階,如二分搜索算法 (3)O(n):線性階,如n個數內找最大值 (4)O(nlogn):對數階,如快速排序算法 (5)O(n^2):平方階,如

原创 MVC,MVP,MVVM的區別

1、MVC模式 (1)、mvc解決了什麼問題 MVC模式解耦合了M層和V層,M層和V層通過C層來交互 模型層 (Model):業務邏輯對應的數據模型,無View無關,而與業務相關; 視圖層 (View):一般使用XML或者Jav

原创 SurfaceView和TextureView的區別

一、區別 SurfaceView和TextureView均繼承於android.view.View,與其它View不同的是,兩者都能在獨立的線程中繪製和渲染,在專用的GPU線程中大大提高渲染的性能。 SurfaceView專門提供

原创 Lua語言爲什麼可以熱更新

一、什麼是熱更新 熱更新是一種各大手遊等衆多App常用的更新方式。簡單來說,就是在用戶通下載安裝APP之後,打開App時遇到的即時更新。 二、熱更新的本質 熱更新問題的本質是代碼更新而不是資源更新,大型手遊都是將補丁資源放在專門的

原创 點播和直播原理

一、流媒體協議 直播和點播的原理都是基於流媒體協議來實現的,常用的流媒體協議主要有 HTTP 漸進下載和基於 RTSP/RTP 的實時流媒體協議,這兩種協議是完全不同的實現方式。主要區別如下: 一種是分段漸近下載,一種是基於實時

原创 unity開發

1、unity中出現一直loading的問題一般是將網絡關閉可解決 2、lua語言用來寫unity的主要原因是可以熱更新 3、unity中實現單例可以用傳統的方式也可以用單例遊戲物體 4、unity中的跨平臺機制是通過語言轉換實現

原创 Unity和Android的交互原理

一、應用場景 如果在unity中需要調用android原生的方法,或者anrdroid項目中需要調用unity中的方法實現就需要用到unity和androd之間的相互通信了。 二、在Unity中調用Android的方法 1、在An

原创 Lua語言特點

一、Lua語言出現的背景 Lua 是一種輕量小巧的腳本語言,用標準C語言編寫並以源代碼形式開放, 其設計目的是爲了嵌入應用程序中,從而爲應用程序提供靈活的擴展和定製功能。 Lua 是巴西里約熱內盧天主教大學(Pontifical

原创 Unity3D框架執行原理

一、Unity關鍵類繼承關係 (1)、繼承關係如下圖: 用戶定義的每一個類在引擎中都屬於一個組件,引擎中每個Component類定義了GameObject類型的對象,用於申明當前組件所屬的遊戲對象。 二、用戶實現的接口與引擎調用

原创 Android常見問題解決方案

1、Android中fragment進行權限的申請 2、Kotlin之let,apply,with,run函數區別 3、什麼是AndroidX

原创 kotlin對通道理解

一、什麼是通道 延期的值提供了一種便捷的方法使單個值在多個協程之間進行相互傳輸。 通道提供了一種在流中傳輸值的方法。 Channel 是一個和 BlockingQueue 非常相似的概念。其中一個不同是它代替了阻塞的 put 操作

原创 flutter常見問題修復

1、Connect to storage.googleapis.com:443 Could not resolve all artifacts for configuration ':app:debugCompileClasspa