


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
高德API下基于SMM架構(gòu)的車輛疏導系統(tǒng)搭建分析,計算機應用技術(shù)論文摘要:隨著社會經(jīng)濟的發(fā)展,人民生活水平的提高,車輛扎堆寸步難行,這是我們國家“城市病〞的典型異常感覺和狀態(tài)。堵車很大原因是車輛行駛沒有全局規(guī)劃,本項目在高德API下二次開發(fā),設計并搭建了基于SMM架構(gòu)的車輛疏導系統(tǒng)。本文從軟件技術(shù)出發(fā),完成車輛管理服務器端的設計和終端APP開發(fā),再使用相應指標對該系統(tǒng)進行了效率分析與性能檢測。本文關(guān)鍵詞語:車輛疏導;系統(tǒng)搭建;效率分析;SpringBoot是一個基于Spring框架,可供快速開發(fā),十分合適構(gòu)建微服務系統(tǒng)。其另外還封裝了各類套件,比方mybatis、hibernate、redis、mongodb等。該框架搭建起來的應用,它會嵌入Tomcat、Jetty或者Undertow等服務器,并且不需要傳統(tǒng)的WAR文件進行部署,也就是講搭建SpringBoot項目并不需要單獨下載Tomcat等傳統(tǒng)的服務器;同時提供通過Maven〔或者Grandle〕依靠的starter,這些starter能夠直接獲取開發(fā)所需的相關(guān)包,通過這些starter項目就能JavaApplication的形式運行SpringBoot的項目,而無須其他服務器配置;對于配置,SpringBoot提供Spring框架的最大自動化配置,大量使用自動配置,使得開發(fā)者對Spring的配置盡量減少;除此之外還提供了一些監(jiān)測、自動檢測的功能和外部配置,與此同時沒有附加代碼和XML的配置要求。1、系統(tǒng)介紹本項目在高德API下二次開發(fā),設計并搭建了基于SMM架構(gòu)的車輛疏導系統(tǒng),本次設計是在Windows平臺下,使用SpringBoot作為系統(tǒng)的后臺整體基礎架構(gòu),使用Java語言完成終端安卓APP的編寫,項目使用阿里云服務器部署并上線。系統(tǒng)功能包括車輛報備、車輛定位、道路規(guī)劃、路程反應等,疏導系統(tǒng)會根據(jù)目的地、出發(fā)地以及途徑策略設置,為用戶量身設計出行方案。同時可結(jié)合實時交通,幫助用戶繞開擁堵路段,提供更貼心、更人性化的出行體驗。2、軟件設計2.1、服務器搭建。后臺采取stringboot+mysql+mybatis搭建服務器接口,實現(xiàn)數(shù)據(jù)傳輸及存儲。stringboot來管理整個應用中所有對象的開創(chuàng)建立、初始化、銷毀,及對象間關(guān)聯(lián)關(guān)系的維護。同時作為View層的實現(xiàn)者,完成用戶的請求接收功能,完成用戶請求的轉(zhuǎn)發(fā)及對用戶的響應。mysql是服務器數(shù)據(jù)庫,MyBatis作為Dao層的實現(xiàn)者實現(xiàn)對用戶車輛信息、車輛軌跡、信息推送等數(shù)據(jù)庫的增刪改查功能。2.2、APP的開發(fā)。APP由主應用服務中間層以及后臺管理系統(tǒng)相配合,通過app、數(shù)據(jù)庫的設計,以及對服務器和支付api的引用,實現(xiàn)一套完好的車輛疏導。終端采取MVP架構(gòu)搭建app框架,使用面向接口編程思想將View層與Model層進行完全分離,業(yè)務代碼和邏輯代碼解耦;主界面UI采用ViewPager嵌套Fragment的方式,進行完全lazyLoad,根據(jù)Fragment生命周期的可見性來判定界面的可見性來加載網(wǎng)絡數(shù)據(jù),優(yōu)化網(wǎng)絡api的設置,減少數(shù)據(jù)解析時間和網(wǎng)絡訪問時間,提高性能;界面內(nèi)的通信均采用jetpackliveData,以及l(fā)ifecycleHandler進行通信,有效防止數(shù)據(jù)丟失及不必要的內(nèi)存泄露;網(wǎng)絡模塊使用Retrofit加載網(wǎng)絡數(shù)據(jù),對獲取到的數(shù)據(jù)進行解析并序列化,結(jié)合DiskLruCache實現(xiàn)二級緩存,到達節(jié)省流量的同時,也能免去重復地解析數(shù)據(jù)的步驟,提高APP整體的閱讀流暢度。圖片顯示基于glide做了圖片顯示的優(yōu)化,尤其對gif圖片的優(yōu)化,在原生基礎上進行了NDK層面優(yōu)化,提升了glide性能,配合PhotoView實現(xiàn)圖片緩存同時,也實現(xiàn)圖片的放大縮小,防止OOM現(xiàn)象。3、技術(shù)關(guān)鍵3.1、環(huán)信即時通訊集成全類型消息:支持文字、表情、圖片、語音、視頻、附件、地理位置、擴展消息、透傳消息、自定義消息等全類型消息收發(fā);實時音視頻:支持1對1、多對多音視頻、音視頻連麥等場景。低成本低延時、高品質(zhì)、抗丟包抗抖動、百萬級并發(fā)、全球多節(jié)點覆蓋;推送服務:服務端支持對接APNS〔蘋果〕、Google、華為、小米、OPPO、VIVO、魅族等各大消息推送平臺;3.2、高德地圖獵鷹軌跡服務多種道路規(guī)劃:駕車道路規(guī)劃、公交道路規(guī)劃、騎行道路規(guī)劃、步行道路規(guī)劃;自定義避讓區(qū)域或道路:想不走哪里就不走哪里;軌跡糾偏:針對定位偏移、定位缺失、定位間隔大等情況造成的軌跡異常,獵鷹提供基于路網(wǎng)和途徑規(guī)劃的軌跡糾偏補路功能,可將偏移點糾正到正確的道路上,呈現(xiàn)連貫、平滑的軌跡;空間檢索:提供多種空間檢索能力,支持檢索圓形、多邊形、行政區(qū)范圍內(nèi)的終端,可實現(xiàn)搜索當下地圖視野內(nèi)終端或指定區(qū)域內(nèi)終端的功能;軌跡存儲:基于成熟穩(wěn)定的阿里云服務,對用戶上傳的軌跡數(shù)據(jù)進行存儲,保證數(shù)據(jù)穩(wěn)定;軌跡查詢:針對用戶已經(jīng)上傳成功的軌跡,我們提供高性能的軌跡查詢服務,開發(fā)者可隨時查詢?nèi)我鈺r間段的軌跡。3.3、騰訊優(yōu)圖車輛屬性辨別集成準確率高:準確率高于90%,基于海量大數(shù)據(jù)持續(xù)迭代,不斷優(yōu)化辨別精度;適用場景廣:對于道路卡口、出入口、街拍圖片均具有較好的辨別效果,同時支持車身正向、側(cè)向等不同角度情況下的辨別;交通車輛信息構(gòu)造化:對于道路、停車場等各種監(jiān)控場景,構(gòu)造化車輛信息數(shù)據(jù),可用于相關(guān)數(shù)據(jù)檢索或信息挖掘。3、碰到的問題以及解決方案3.1、問題1:電量消耗過大系統(tǒng)集成多組件開發(fā),多耗電大戶同時運行。電量優(yōu)化程度在一定程度上決定了用戶的體驗感。我們需要考慮的是怎樣優(yōu)化電量使用,讓我們的App不會由于電量消耗過高被用戶排擠,或者被其他安全應用報告,以此確保用戶黏性。問題解析:(1〕優(yōu)化應用的后臺耗電:避免后臺長時間獲取WakeLock、WiFi和藍牙的掃描等。(2〕網(wǎng)絡優(yōu)化:指定三種不同狀態(tài)消耗方案〔Fullpower:高功率狀態(tài),移動網(wǎng)絡連接被激活,允許設備以最大的傳輸速率進行操作;Lowpower:低功耗狀態(tài),對電量的消耗差不多是Fullpower狀態(tài)下的50%;Standby:空閑態(tài),沒有數(shù)據(jù)連接需要傳輸,電量消耗最少?!?3〕計算優(yōu)化〔在native層開發(fā)時,能夠利用ARMneon指令集做并行運算〕(4〕界面優(yōu)化〔離開界面后停止相關(guān)活動,例如關(guān)閉動畫,耗電操作判定前后臺,假如是后臺則不執(zhí)行相關(guān)操作。〕(5〕定位優(yōu)化〔根據(jù)場景慎重選擇定位形式:對定位準確度沒那么高的場景能夠選擇低精度形式。能夠考慮網(wǎng)絡定位代替GPS。使用后務必及時關(guān)閉,減少更新頻率,例如定位開啟一定時間后超過某個閾值能夠執(zhí)行一個兜底策略:強迫關(guān)閉GPS。〕3.2、問題2:系統(tǒng)崩潰1〕確定重點:A確認嚴重程度。B優(yōu)先解決Top崩潰或?qū)I(yè)務有重大影響的崩潰:如啟動、支付經(jīng)過的崩潰cJava崩潰:假如是OOM,需進一步查看日志中的內(nèi)存信息和資源信息,下面會分析。CNative崩潰:查看signal、code、faultaddr以及崩潰時的Java堆棧2〕查找共性:機型、系統(tǒng)、ROM、廠商、ABI這些信息都能夠作為共性參考,對于下一步復現(xiàn)問題有明確指引。3〕嘗試復現(xiàn):復現(xiàn)之后再增加日志或使用Debugger、GDB進行調(diào)試。使用以上步驟,我們解決了幾個常見的異常:異常1:Android7.0ToastBadTokenException解決:代理Toast里的mTN(handler〕就能夠?qū)崿F(xiàn)捕獲異常異常2:SharedPreferenceapply引起的ANR問題解決:拿到HookActivityThrad的Handler變量,給其設置一個Callback,Handler的dispatchMessage中會先處理callback。最后在Callback中調(diào)用隊列的清理工作,注意隊列清理需要反射調(diào)用QueuedWork。異常3:TimeoutExceptin異常解決:它是由系統(tǒng)的FinalizerWatchdogDaemon拋出來的,我們對該異常進行了躲避。stop方式方法,在Android6.0之前會有線程同步問題。由于6.0之前調(diào)用threadToStop的interrupt方式方法是沒有加鎖的,所以可能會有線程同步的問題。3.3、問題3:內(nèi)存抖動需求:在APP中需要加載大量服務器圖片難點:我們的APP需要申請一塊內(nèi)存來存放圖片的時候,系統(tǒng)以為我們的程序需要的內(nèi)存過大,不分配給我們的APP,拋出OOM異常解決方案:1.異步開啟子線程進行耗時的操作,通過Handler+Message在子線程發(fā)送消息到主線程進行更新UI;2.對于加載圖片太多時導致的OOM內(nèi)存溢出問題,引入ImageLoader開源框架解決,ImageLoader里的線程使用了線程池,進而避免了太多的線程頻繁的開創(chuàng)建立和銷毀;3.對圖片采用軟引用,及時進行recycle〔〕操作及等比例縮小圖片;4.listview每次僅加載屏幕能顯示的內(nèi)容,其余數(shù)據(jù)處于準備顯示狀態(tài)。本文主要研究車輛疏導系統(tǒng)的搭建及優(yōu)化問題。系統(tǒng)搭建完后,在電量優(yōu)化、崩潰分析、內(nèi)存抖動三個方面對系統(tǒng)進行了效率測試、異常捕捉及問題分析,并提供解決方案。實驗結(jié)果表示清楚,經(jīng)過我們的優(yōu)化,到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河南鄭州市中醫(yī)院招聘工作人員72名模擬試卷附答案詳解(考試直接用)
- 江西省部分學校2024-2025學年高二上學期10月月考地理試題(解析版)
- 2025呼和浩特旭陽中燃能源有限公司招聘21人模擬試卷附答案詳解(考試直接用)
- 2025昆明市官渡區(qū)北京八十學校招聘(18人)模擬試卷及答案詳解(典優(yōu))
- 2025年中國地質(zhì)調(diào)查局西安礦產(chǎn)資源調(diào)查中心招聘(26人)模擬試卷有完整答案詳解
- 2025湖北恩施州宣恩獅子關(guān)旅游開發(fā)有限公司招聘7人模擬試卷附答案詳解(考試直接用)
- 2025年泉州文旅集團急需緊缺人才招聘3人考前自測高頻考點模擬試題及答案詳解(考點梳理)
- 產(chǎn)品研發(fā)流程標準化手冊研發(fā)階段劃分
- 品牌形象維護策略與實施方案
- 知識產(chǎn)權(quán)保護與管理標準化流程
- 2025至2030拖拉機市場前景分析及行業(yè)深度研究及發(fā)展前景投資評估分析
- 中外運社招在線測評題
- 《生成式人工智能》 課件 第4章 Transformer模型
- 無損檢測技術(shù)人員崗位面試問題及答案
- 肉鴨孵化期蛋內(nèi)生長發(fā)育與出雛時間的影響研究
- 雙鏡聯(lián)合治療腎結(jié)石講課件
- 監(jiān)控資料留存管理制度
- 2025年遼寧高考地理試卷真題答案詳解講評課件(黑龍江吉林內(nèi)蒙古適用)
- 2025屆上海市高考英語考綱詞匯表
- 小學生生活常識教育班會
- 2023CSCO食管癌診療指南
評論
0/150
提交評論