freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-面向android系統(tǒng)的測試工具-閱讀頁

2025-02-01 01:36本頁面
  

【正文】 。 import 。 private Button btnUnBind。 binder。 } // 當(dāng)客戶端與 Service 建立連接時 Override public void onServiceConnected(ComponentName name, IBinder service) {大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 3 章 測試工具介紹 19 (onServiceConnected)。 } }。 setContentView()。 btnUnBind = (Button) findViewById()。 final Intent intent = new Intent()。 (new () { Override public void onClick(View v) { // 綁定 Service bindService(intent, conn, BIND_AUTO_CREATE)。 (new () { Override public void onClick(View v) { // 解除綁定 unbindService(conn)。 //獲取數(shù)據(jù) (new () { Override public void onClick(View v) { // 獲取數(shù)據(jù) (,大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 3 章 測試工具介紹 20 Service 的 count 值為 + (), ).show()。 } } 點擊 ” 獲取 Service 里的數(shù)據(jù) ”按鈕 點擊 “unBindService”按鈕 所以也可以通過上圖知道 bindService 的生命周期 bindService 會經(jīng)歷 onCreate()onBind()onUnbind()onDestory 如何去理解這種通信方式? 我的理解是 bindService 這一方我們可以看作是客戶端,然后客戶端調(diào)用bindService()方法去綁定一個 Service, Service 給我們返回一個 Binder 對象用于客戶端與Serivce 通信,而這個 Binder 對象我們可以在客戶端的 ServiceConnection 對象里的一個onServiceConnected()方法取到這個 Binder 對象,這樣我們就也能取到 Service 里的數(shù)據(jù)了 所以總結(jié): bindService 與 startService 的區(qū)別: 1. 生命周期 : startService() 方式啟動 , Service 是通過接受 Intent 并且會經(jīng)歷大連海洋大 學(xué)本科畢業(yè)論文(設(shè)計) 第 3 章 測試工具介紹 21 onCreate()和 onStart() .當(dāng)用戶在發(fā)出意圖使之銷毀時會經(jīng)歷 onDestroy () ,而 bindService () 方 式啟動 ,與 Activity 綁定的時候 ,會經(jīng)歷 onCreate() 和 onBind () ,而當(dāng) Activity 被銷毀的時候, Service 會先調(diào)用 onUnbind () 然 后是 onDestroy () 。而后者由于與 Activity 綁定 ,不用考慮其生命周期問題 ,并且從發(fā)送 Intent 的被動操作 ,變?yōu)榭梢灾鲃訉?Service 對象進行操作,我們甚至可以建立一個 Handler 類,對Service 進行相關(guān)的操作。 總結(jié) : 對于簡單的應(yīng)用 startService() 啟動方式能帶來更少的代碼 , 簡單的操作 。 大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 3 章 測試工具介紹 22 第 4章 總體設(shè)計 . 概述 . 程序說明 本項目主要通過 Android 自動化測試工具對 AP 進行手動設(shè)定,自動執(zhí)行的測試工作。 編譯成功后即可在 Android 模擬器上運行程序,進行 TestCase 的壓入,手動設(shè)定,進而執(zhí)行程序,輸出結(jié)果。 整體處理流程示意圖: 圖 操作流程流程示意圖 壓下這 SelectFile 測試的結(jié)果在TestSoEasy 畫面顯示 StartTest 鍵按下, AP 是 Copy 項 自動測試開始執(zhí)行 大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 3 章 測試工具介紹 23 . 構(gòu)成 項目中模塊為 TestSoeasy 及 SmartPanel 兩 部分,其中主要的類為 CommonActivity,ApplicationServiceProxy, AutoTestToolActivity 類與 ApplicationService 類 . 類一覽 類名 功能 CommonActivity 需要測試的 AP ApplicationServiceProxy 發(fā)送消息數(shù)據(jù) AutoTestToolActivity 自動化測試部分 ApplicationService 連攜 AP 與測試部分,啟動測試 表 類一覽 大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 5 章 設(shè)計思想 24 第 5章 設(shè)計思想 . 設(shè)計思想 概述 一個聲明解釋一些對 Android開發(fā)者有用的技術(shù)思想和觀點 。通常, 要明白 如何使用 API 來做你想做的事情 。 正確構(gòu)建應(yīng)用 ——通常需要花費更長的時間,并且通常意味著犯錯誤并從錯誤中學(xué)習(xí)。 成功地應(yīng)用會提 供出色的終端用戶體驗。 出色的用戶體驗有三個特征:速度快 。當(dāng)然從早期計算機到現(xiàn)在的計算機,每個平臺都曾不只一次地引用過這三個特征。下面的信息解釋了你的應(yīng)用如何能夠在 Android 上實現(xiàn)這些特征。更準(zhǔn)確的說他應(yīng)該是高效的。然而對于嵌入式應(yīng)用而言, Moor 定律會變得有些復(fù)雜。摩爾定律實際上是關(guān)于晶體管密度的定律,它是說每隔一段時間后,你可以在給定的芯片上部署更多電路。對于類似手機這樣的嵌入式應(yīng)用而言,摩爾定律通常被用于造出更小的芯片。象手機這樣的嵌入式設(shè)備在不斷增加,速度遠遠要慢于桌面系統(tǒng) 。而速度則是次要因素。一般來講,寫快速的代碼意味著要是內(nèi)存分配最小化,代碼緊湊,并且避免可能影響性能的語言和編程習(xí)慣。 關(guān)于如何寫高效的 Android 代碼的文章將會給你提供寫快速、高效 Android 代碼的所有信息?,F(xiàn)代的手持設(shè)備,與其說是電話,更像一臺拿在手中的電腦。 這就是為什么我們在書寫 Android 應(yīng)用程序的時候要格外關(guān)注效率。這意味著,設(shè)備沒有更多的能力,我們必須把程序?qū)懙谋M量有效。 . 設(shè)計 原則 所有 設(shè)計 的內(nèi)容都遵照這兩個原則。 xing:代碼優(yōu)化,相對于結(jié)構(gòu)優(yōu)化 )的確會帶來很多問題,諸如無法使用更有效的數(shù)據(jù)結(jié)構(gòu)和算法。假如你認(rèn)為 Android 虛擬機的性能與臺式機相當(dāng),你的程序很有可能一開始就占用了系統(tǒng)的全部內(nèi)存 (xing:內(nèi)存很小 ),這會讓你的程序慢得像蝸牛一樣,更遑論做其他的操作了。而這種用戶體驗,部分依賴于你的程序是響應(yīng)快速 而靈活的,還是響應(yīng)緩慢而僵化的。而這篇文檔就相當(dāng)于你在取得駕照之前必須要學(xué)習(xí)的交通規(guī)則。這就是為什么這些原則十分重要。有些 JVM 包含 JIT 編譯器。假如我們有目標(biāo)完全相同的兩個方法,在解釋執(zhí)行時 foo()比 bar()快,那么編譯之后, foo()依然會比 bar()快。 原則一 世界上沒有免費的對象。 如果你在用戶界面循環(huán)中分配對象內(nèi)存,就會引發(fā)周期性的垃圾回收,用戶就會覺得界面像打嗝一樣一頓一頓的。下面的例子將幫助你 理解這條原則: 當(dāng)你從用戶輸入的數(shù)據(jù)中截取一段字符串時,盡量使用 substring 函數(shù)取得原始數(shù)據(jù)的一個子串,而不是為子串另外建立一份拷貝。 如果你有一個函數(shù)返回一個 String 對象,而你確切的知道這個字符串會被附加到一個StringBuffer,那么,請改變這個函數(shù)的參數(shù)和實現(xiàn)方式,直接把結(jié)果附加到 StringBuffer中,而不要再建立一個短命的臨時對象。 int 數(shù)組比 Integer 數(shù)組好,這也概括了一個基本事實,兩個平行的 int 數(shù)組比 (int,int)大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 5 章 設(shè)計思想 26 對象數(shù)組性能要好很多。 如果你想用一種容器存儲 (Foo,Bar)元組,嘗試使用兩個單獨的 Foo[]數(shù)組和 Bar[]數(shù)組,一定比 (Foo,Bar)數(shù)組效率更高。這時候你要注重對 API 借口的設(shè)計而犧牲一點兒速度。減少對象的創(chuàng)建就能減少垃圾 收集,進而減少對用戶體驗的影響。這些方法都是使用 C/C++實現(xiàn)的,比起 Java 循環(huán)快 10 到100 倍。 HashMap myMap2 = new HashMap()。傳統(tǒng)的觀點對于傳統(tǒng)的程序是正確的,但是它并不適合嵌入式系統(tǒng)。 如果 HashMap 完全適合你的程序,那么使用 Map 就沒有什么價值。 (當(dāng)然公共 API 是一個例外:一個好的 API 常常會犧牲一些性能 ) 用靜態(tài)方法比虛方法好 如果你不需要訪問一個對象的成員變量,那么請把方法聲明成 static。另外你也可以通過聲明體現(xiàn)出這個函數(shù)的調(diào)用不會改變對象的狀態(tài)。在 C++中這是一個非常好的習(xí)慣,因為編譯器能夠內(nèi)聯(lián)訪問,如果你需要約束或調(diào)試變量,你可以在任何時候添加代碼。虛方法的開銷比直接訪問成員變量大得多。 將成員變量緩存到本地 訪問成員變量比訪問本地變量慢得多,下面一段代碼: ? or (int i = 0。 i++) dumpItem([i])。 ? Item[] items = 。 i ? count。 (使用 ”this”是為了表明這些是成員變量 ) 原則二 永遠不要在 for 的第二個條件中調(diào)用任何方法。 ? for (int i = 0。 i++)同樣如果你要多次訪問一個變量,也最好先為它建立一個本地變量,例如: ? protected void drawHorizontalScrollBar(Canvas canvas, int width, int height) { ? if (isHorizontalScrollBarEnabled()) { ?? int size = (false)。 ?? } ?? (0, height ? size, width, height)。 ?? (canvas)。 另外就是方法的參數(shù)與本地變量的效率相同。 ?? static String strVal = “Hello, world!”。方法會將 42 賦給 intVal,然后把一個指向類中常量表的引用賦給 strVal。下面我們做些改進,使用 “final”關(guān)鍵字: ?? static final int intVal = 42。 現(xiàn)在,類不再需要方法,因為在成員變量初始化的時候,會將常量直接保存到類文件中。 大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 5 章 設(shè)計思想 26 將一個方法或類聲明為 ”final”不會帶來性能的提升,但是會幫助編譯器優(yōu)化代碼。 你也可以將本地變量聲明為 ”final”,同樣,這也不會帶來性能的提升。 foreach 會給這些對象分配一個 iterator,然后調(diào)用 hasNext()和 next()方法。 下面展示了 foreach 一種可接受的用法: ?? public class Foo { ?? int mSplat。 ?? public static void zero() { ?? int sum = 0。 i 。 ?? } ?? } ?? public static void one() { ?? int sum =
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1