面向移動金融應(yīng)用的React Native定制與實現(xiàn)
發(fā)布時間:2021-07-12 18:46
移動金融終端需求的爆發(fā)式增長使得設(shè)備底層硬件兼容和應(yīng)用層跨平臺適配之間的矛盾,以及開發(fā)效率、維護(hù)成本和終端運行性能之間的矛盾變得越來越突出。本文在綜合比較各類跨平臺開發(fā)框架后,基于React Native框架定制了一種面向移動金融的PosM開發(fā)架構(gòu),該架構(gòu)在滿足跨平臺適配的基礎(chǔ)上實現(xiàn)了底層硬件模塊兼容以及對終端運行性能的優(yōu)化。在充分了解移動金融應(yīng)用需求和分析React Native框架的體系架構(gòu)與核心原理的基礎(chǔ)上,本文首先對硬件模塊管理進(jìn)行定制,提高模塊兼容性,并設(shè)計了標(biāo)記保留型裁剪算法來壓縮模塊體積。其次在網(wǎng)絡(luò)傳輸?shù)亩ㄖ浦型卣筊eact Native框架的加載機(jī)制實現(xiàn)增量更新管理,提升傳輸效率,并設(shè)計了基于優(yōu)先級的預(yù)加載管理機(jī)制來優(yōu)化啟動性能。接著針對移動金融終端硬件資源調(diào)用頻繁的特點設(shè)計了內(nèi)存管理類,實現(xiàn)模塊管理動態(tài)化和管理實例全局化來降低內(nèi)存占用。綜合上述三方面對React Native框架的拓展和定制,封裝成整體的PosM開發(fā)架構(gòu)供移動金融應(yīng)用接入。最后,本文在PosM架構(gòu)的基礎(chǔ)上實現(xiàn)了移動金融場景下讀卡器讀卡和EMV交易流程等核心交易功能的開發(fā)。功能測試表明,本文基于Reac...
【文章來源】:東南大學(xué)江蘇省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:79 頁
【學(xué)位級別】:碩士
【部分圖文】:
diff算法差異路徑上述的差異信息在實際中存在大量的保留行,只需要提取出添加刪除的差異信息即可,如下所
30圖 3-16 InstanceManager 全局化內(nèi)存前后對比 全局封裝接口設(shè)計eactInstanceManager 全局化接口如表 3-4、表 3-5 和表 3-6 所示。所有的初始化接口只會運行一次,之后通過 getInstanceManager 來獲取全局的 reactInstanceManager 實例。改eactApplicationContext 和 CatalystInstance 兩個上下文類,ReactApplicationContext 包含執(zhí)行工具與模塊表,CatalystInstance 負(fù)責(zé)與 Bridge 橋接層的聯(lián)系,把動態(tài)變化實時 橋接層。表 3-4 ReactInstanceManager 全局化接口全局封裝接口 接口描述init 創(chuàng)建 ReactApplicationContext
后直接恢復(fù)至歷史狀態(tài),由于只有一個 JS 運行環(huán)境,上述備份狀態(tài)仍然緩存在 JavaScriptCore是與當(dāng)前運行時隔離。歷史狀態(tài)管理類 SnapshotManager 接口設(shè)計如表 3-7 所示。表 3-7 SnapshotManager 全局化接口局封裝接口 子接口 接口描述napshotRootViewbackupAllViews 備份所有底層渲染視圖backupContextParams 備份所有的環(huán)境參數(shù)napshotInstanceManager backupModuleRegistry 備份上下文環(huán)境的模塊注冊表napshotDynamicModules backupModuleTree 備份當(dāng)前模塊樹結(jié)構(gòu)napshotJavaScriptbackupVirtualDomTree 備份虛擬 DOM 樹結(jié)構(gòu)backupGlobalVariables 備份 JS 運行時中的全局變量backupReactEvents 備份 React Native 的事件對象全局內(nèi)存管理優(yōu)化前后對比如圖 3-20 所示。React Native 框架運行過程中,隨著 Activity 數(shù)量長,初始化了等量的 reactRootView 和 reactInstanceManager 等實例,導(dǎo)致較高的內(nèi)存增長速率局內(nèi)存管理優(yōu)化后,統(tǒng)一復(fù)用一個 Activity 容器,利用 SnapshotManager 類管理歷史狀態(tài),實act Native 管理實例的全局化,顯著降低了內(nèi)存隨路由跳轉(zhuǎn)的增長速率。
【參考文獻(xiàn)】:
期刊論文
[1]一種跨平臺移動APP開發(fā)方法的研究及實現(xiàn)[J]. 曹蔚然,杜梅,沈忠起,楊彬彬. 軟件工程. 2017(10)
[2]基于Android智能終端的實時地鐵變形監(jiān)測系統(tǒng)軟件設(shè)計[J]. 余騰,胡伍生,焦明連,孫小榮. 測繪通報. 2017(06)
[3]基于Dom Diff算法分析React刷新機(jī)制[J]. 嚴(yán)新巧,白俊峰. 電腦知識與技術(shù). 2017(18)
[4]React Native在APP開發(fā)中的應(yīng)用研究[J]. 潘婷婷. 無線互聯(lián)科技. 2016(19)
[5]國內(nèi)第三方Android應(yīng)用市場安全性的檢測[J]. 閆晉佩,何暉,安文歡,張小輝,任建寶,齊勇. 計算機(jī)科學(xué). 2015(12)
[6]面向Android系統(tǒng)的動態(tài)內(nèi)存管理策略[J]. 姜仲秋,劉長榮,張文明,鄭屹帆. 測控技術(shù). 2013(12)
[7]一種基于自解析報文協(xié)議的系統(tǒng)分層方法[J]. 羅毅,吳產(chǎn)樂,熊偉成. 計算機(jī)工程. 2012(04)
碩士論文
[1]Android和iOS跨平臺編程的研究[D]. 彭廣軍.上海交通大學(xué) 2015
[2]跨平臺移動開發(fā)框架的比較分析與實例開發(fā)[D]. 徐巍.吉林大學(xué) 2014
本文編號:3280455
【文章來源】:東南大學(xué)江蘇省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:79 頁
【學(xué)位級別】:碩士
【部分圖文】:
diff算法差異路徑上述的差異信息在實際中存在大量的保留行,只需要提取出添加刪除的差異信息即可,如下所
30圖 3-16 InstanceManager 全局化內(nèi)存前后對比 全局封裝接口設(shè)計eactInstanceManager 全局化接口如表 3-4、表 3-5 和表 3-6 所示。所有的初始化接口只會運行一次,之后通過 getInstanceManager 來獲取全局的 reactInstanceManager 實例。改eactApplicationContext 和 CatalystInstance 兩個上下文類,ReactApplicationContext 包含執(zhí)行工具與模塊表,CatalystInstance 負(fù)責(zé)與 Bridge 橋接層的聯(lián)系,把動態(tài)變化實時 橋接層。表 3-4 ReactInstanceManager 全局化接口全局封裝接口 接口描述init 創(chuàng)建 ReactApplicationContext
后直接恢復(fù)至歷史狀態(tài),由于只有一個 JS 運行環(huán)境,上述備份狀態(tài)仍然緩存在 JavaScriptCore是與當(dāng)前運行時隔離。歷史狀態(tài)管理類 SnapshotManager 接口設(shè)計如表 3-7 所示。表 3-7 SnapshotManager 全局化接口局封裝接口 子接口 接口描述napshotRootViewbackupAllViews 備份所有底層渲染視圖backupContextParams 備份所有的環(huán)境參數(shù)napshotInstanceManager backupModuleRegistry 備份上下文環(huán)境的模塊注冊表napshotDynamicModules backupModuleTree 備份當(dāng)前模塊樹結(jié)構(gòu)napshotJavaScriptbackupVirtualDomTree 備份虛擬 DOM 樹結(jié)構(gòu)backupGlobalVariables 備份 JS 運行時中的全局變量backupReactEvents 備份 React Native 的事件對象全局內(nèi)存管理優(yōu)化前后對比如圖 3-20 所示。React Native 框架運行過程中,隨著 Activity 數(shù)量長,初始化了等量的 reactRootView 和 reactInstanceManager 等實例,導(dǎo)致較高的內(nèi)存增長速率局內(nèi)存管理優(yōu)化后,統(tǒng)一復(fù)用一個 Activity 容器,利用 SnapshotManager 類管理歷史狀態(tài),實act Native 管理實例的全局化,顯著降低了內(nèi)存隨路由跳轉(zhuǎn)的增長速率。
【參考文獻(xiàn)】:
期刊論文
[1]一種跨平臺移動APP開發(fā)方法的研究及實現(xiàn)[J]. 曹蔚然,杜梅,沈忠起,楊彬彬. 軟件工程. 2017(10)
[2]基于Android智能終端的實時地鐵變形監(jiān)測系統(tǒng)軟件設(shè)計[J]. 余騰,胡伍生,焦明連,孫小榮. 測繪通報. 2017(06)
[3]基于Dom Diff算法分析React刷新機(jī)制[J]. 嚴(yán)新巧,白俊峰. 電腦知識與技術(shù). 2017(18)
[4]React Native在APP開發(fā)中的應(yīng)用研究[J]. 潘婷婷. 無線互聯(lián)科技. 2016(19)
[5]國內(nèi)第三方Android應(yīng)用市場安全性的檢測[J]. 閆晉佩,何暉,安文歡,張小輝,任建寶,齊勇. 計算機(jī)科學(xué). 2015(12)
[6]面向Android系統(tǒng)的動態(tài)內(nèi)存管理策略[J]. 姜仲秋,劉長榮,張文明,鄭屹帆. 測控技術(shù). 2013(12)
[7]一種基于自解析報文協(xié)議的系統(tǒng)分層方法[J]. 羅毅,吳產(chǎn)樂,熊偉成. 計算機(jī)工程. 2012(04)
碩士論文
[1]Android和iOS跨平臺編程的研究[D]. 彭廣軍.上海交通大學(xué) 2015
[2]跨平臺移動開發(fā)框架的比較分析與實例開發(fā)[D]. 徐巍.吉林大學(xué) 2014
本文編號:3280455
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3280455.html
最近更新
教材專著