原创 Android客戶端如何設計架構

當我們在新開發一款APP時,我們在初期要如何設計架構呢?在這裏我根據我的經驗,總結了一些基本的架構思路。 客戶端架構設計的時候,首先需要充分考慮到所開發的app的類型,這裏我分爲功能型和服務型兩大類,功能型的app側重業務和功能,

原创 橫向對比瀏覽器,RN以及Flutter

跨平臺是最近幾年很火的技術棧,也是未來的趨勢,一次開發,多出處行,能節約大量的人力和時間成本。目前主要的跨平臺方案有三種 1. 以原生組件爲基礎,對接web生態RN,快應用,weex這這一類爲代表 2. 以Web爲代表 3. 以獨

原创 Weex優化演進

一,Weex架構優化 首先,我們來看一下weex的架構演變,從架構圖中可以看到,它一步步的增加了WeexCore,EagleCore等模塊。下面我們就來了解一下這些模塊的演進。 1,JS引擎的演進 weex早期在Android上

原创 ActivityManagerService啓動解析

我們知道,在zygote進行初始化時,會調用startSystemServer方法來初始化各種servcie,其中包括ActivityMangerService,現在我們就來看看ActivityMangerService是如何初始化的。我

原创 Android底層啓動解析

過去的這一年多裏,做過VR,AR,現在又回到了Android客戶端,開始做AI相關的應用,Android方面的知識也開始重新撿了起來,所以在這兒擼一遍Android的底層源碼,鞏固加強一下在自己Android方面的技能。 在擼Androi

原创 Activity啓動詳解

我們先從普通的應用內啓動activity開始看起,也就是startActivity()這個方法,我們會發現這個函數最終會執行startActivityForResult()方法,傳遞的參數爲intent和-1,所以我們直接看看這個函數 p

原创 Unity3D架構小結

剛開始學習Unity編程時,感覺非常的不習慣。一直以來,我都是使用基於類的面向對象編程,當轉到Unity開發後,發現所有的代碼都是拖到一個個組件上面去的,早已習慣了的mvc,mvp等架構思想在Unity上卻不太適用了。 所以在我前期開發U

原创 c++進行音頻管理

最近做VR開發時需要對麥克風分的錄音進行操作,其中涉及到調節錄音的大小,檢測錄音的的大小等功能,我主要使用c++調用windows的音頻相關的api來進行對錄音的操作,在這裏記錄一下。 對音頻的控制主要用到mixer相關的函數,與它相關的

原创 HTC VIVE開發教程(二)

這一節我介紹的主要內容有 SteamVR渲染機制 用Unity做遊戲開發的核心之一就是圖形渲染,做VR開發當然也是一樣,在這一節,我們就來看看SteamVR的圖形渲染原理。SteamVR_Render.cs是SteamVR圖形渲染的核

原创 Shader入門教程(一)

學習Unity有一段時間了,都說Unity想要進階得學會Shader編程,因此花了一陣子來學習Shader編程。學了之後才發現,Shader並沒有我原先想的那麼複雜,掌握它的原理和語法後,我們也能用shader編寫出自己想要的特效,好了,

原创 Unity客戶端與後臺通信

在做Unity遊戲開發時,與後臺的通信是必不可少的。我們可以用c#自帶的WebRequest來與後臺通信,但是這種通信方式效率是比較低的,特別是當遊戲需要多人在線時,用c#來進行網絡通信會完全無法滿足要求。這個時候就需要用C或者C++來與

原创 HTC VIVE開發教程(四)

從這一節起我開始介紹一些vive的交互實現方式,比如手柄發出的射線,凝視,瞬移等等。SteamVR插件內都有這三種交互的輔助類。 Extras文件夾裏面的SteamVR_GazeTracker是凝視的工具類,SteamVR_Laser

原创 HTC VIVE開發教程(三)

在這一節,我介紹的主要內容有 [CameraRig]預製體 [SteamVR]預製體 [Status]預製體 在SteamVR插件的Prefabs文件夾下面有三個預製體,CameraRig是相機預製體,使用時直接將這個預製相機作爲主相

原创 HTC VIVE開發教程(五)

前面幾節我們瞭解了SteamVR的基本原理,現在可以進行實戰開發了。但在進行VR開發前,我還要先介紹一套強大的VR開發工具——VRTK 在進行VIVE開發時,我們經常要用手柄進行一些操作,比如監聽按鍵響應,通過手柄觸摸板進行移動,抓取物體

原创 HTC VIVE開發教程(一)

在這一節,我介紹的主要內容有 HTC VIVE的安裝與入門 VIVE插件的結構目錄 學習VR有一段時間了,在這段時間裏我對HTC的vive還有Oculcus都進行過一定的研究,也開發出了幾款VR項目,算是基本完成了從Android客戶