Android中級第十二講專案架構配置

2021-09-20 12:02:44 字數 1940 閱讀 6751

,引用必須註明出處!

架構這個話題比較大;從組織結構來說,ceo是一家公司的架構師,將公司劃分為銷售部、市場部、技術部、行政部、財務部、客服部等,每個部門履行特有的職能並相互配合,最終實現「產品」的有效輸出;技術架構也同樣如此。

專案架構主要目的是解耦、靈活開發,讓後端成為產品的瓶頸,而不要讓客戶端成為產品的瓶頸,所有的業務均

可實現「熱載入」;大的專案需要進行外掛程式式開發,必須減少依賴關係,這樣編譯和執行才會快,使用者體驗才會好。

問題:

客戶端與服務端商定get請求的時效,可以有效解決部分併發問題。

2、應用如何保活?

android初級第八講之應用如何保活

3、如何優化電量和記憶體?

android高階之十二講之記憶體、電量、卡頓、流量

4、安全問題:定製執行特定操作、目錄白名單、灰度發布等方式來安全載入應用。

5、快取問題:lrucache-least recently used cache,清除最近最少使用的快取。

原理:設計快取大小,使用linkedlist訪問資料;get時使用數+1,put時使用數+1,同時監測記憶體是否超界;

如果超界,則開啟死迴圈,清除最少使用的快取(通過linkedhashmap的eldest找到),然後bread;繼續。

android高階之十三講之安全方案

灰度發布:

主要是a/b測試,分功能模組、地區、使用者比例來測試,同時可以及時停止測試,防止意外發生,同時又

避免影響線上使用者體驗。

其次對比實驗,用資料來確定採用哪套方案。

架構的主要工作有哪些?

0、構造設計模式,mvc、mvp或mvvm,資料訪問、網路工具、載入過程等實現。

1、設計基礎功能模組

就像生活必備水電煤、公尺油鹽一樣,有這些日子才能過起來,專案也一樣。設計模式、元件通訊、載入過程、網路框架、框架、執行緒池管理、ui框架、必要元件、必要功能、基礎元件等均在初期需要制訂。

2、設計基本功能模組

細化專案框架和元件,以及樣式,設計專案的核心功能,分配功能模組,靈活設計可插拔模組

3、減少業務耦合度

aop思想,面向切面程式設計,即專注處理自身模組,通過scheme來告訴外界自己的功能,通過filter來過濾可以處理細化的資訊。

android中可以使用rxbus和自定義路由來實現。

otto據說比eventbus、handler、broadcastreceive和inte***ce更簡單,回頭要研究一下。

將訂閱者及內部的方法以鍵值對的形式存入rxbusfactory,事件源傳送事件根據訊息型別交由不同的訂閱者處理。

4、保持呼叫靈活性

介面和類要全面適配,如引數型別、引數數量、api版本、so庫支援等

5、良好的編譯工具和打包工具

編譯工具:android最佳編譯工具介紹

打包工具:

ant、gradle、python三種打包方式的介紹

gradle加速編譯:

lint用於找出應用中的異常以及不規範的操作

6、專案管理工具,建議用git,跟svn的最大區別在於:分布式管理,每個人的電腦都是伺服器。

git教程及問題解析

架構師的修養:

阿里中介軟體需要怎樣的架構師? 知乎

服務搭建:

findviewbyid的快速工具:

谷歌開源檢查應用錯誤工具:

error-prone

markdownpad:

先安這個: 

再安這個:

mvvm:

**使用www.example.com和example.com的區別:

後者攜帶該**所有cookie資訊,不夠安全;一般通過301設定,將後者跳到前者。一方面有利於統計訪問(對seo無影響),另一方面不會給使用者造成困擾(後者未作配置,無法訪問)。

fiddler使用:保證手機網路和電腦網路處於同乙個路由下面,同乙個ip段。

第十二周專案 1

分別定義teacher 教師 類和cadre 幹部 類,採用多重繼承方式由這兩個類派生出新類teacher cadre 教師兼幹部 要求 1 在兩個基類中都包含姓名 年齡 性別 位址 等資料成員。2 在teacher類中還包含資料成員title 職稱 在cadre類中還包含資料成員post 職務 在...

第十二周專案1

輸入描述 無 輸出描述 圖的基本運算 標頭檔案 ifndef graph h included define graph h included define maxv 100 最大頂點個數 define inf 32767 inf表示 typedef int infotype 以下定義鄰接矩陣型別 ...

第十二周專案2

j 輸入描述 無 輸出描述 描述的輸出內容 include include include graph.h 返回圖g中編號為v的頂點的出度 int outdegree algraph g,int v return n 輸出圖g中每個頂點的出度 void outds algraph g 輸出圖g中出度...