h5牛牛魚蝦蟹房卡源碼搭建 redisTemplate教程
安卓開發應用首先要講究良好的用戶體驗,如果一款軟件卡頓現象嚴重,不流暢,經常崩潰,那麽將給用戶帶來極不良好的體驗,從而損失用戶。
應用程序的性能問題體現在很多方面, 比如第一次啟動速度慢,或者進入某一界面速度慢;動畫執行過程不流暢,或者動畫執行卡頓時間長;ListView列表滑動過程中卡頓,不流暢;應用程序自定義的某特定界面執行速度慢;響應某一用戶事件時長時間無響應(ANR);操作數據庫時,執行大量數據的增刪改查操作,執行速度慢;文件讀寫頻繁,緩存文件過大導致卡頓;應用長時間運行後,隨機出現卡頓現象。
h5牛牛魚蝦蟹房卡源碼搭建 詳細咨詢Q 2171793408 官網地址:http://wowotouba.com/h5以上的問題的原因可能不只一個,並且很多情況下並不是應用本身的問題,也有可能是系統其他層次有問題,只不過體現在應用層。所以開發人員在處理性能問題時,需要做的第一件事情就是判斷是否是應用自身引起的性能問題,然後再對癥下藥;但有些時候應用本身邏輯正常,但由於系統的硬件配置不足引起了異常,此時就要根據產品或項目需求,采取一些更加精準的方式優化性能,以彌補硬件配置的不足。
以下從幾個不同的角度總結一下應用程序性能優化的一些方法。
1、正則表達式概述
ECMAScript 3 開始支持正則表達式,其語法和 Perl 語法很類似,一個完整的正則表達式結構如下:
[csharp] view plain copy- var expression = / pattern / flags ;
其中,模式(pattern)部分可以是任何簡單或復雜的正則表達式,可以包含字符類、限定符、分組、向前查找以及反向引用。
每個正則表達式都可帶有一或多個標誌(flags),用以標明正則表達式的行為,正則表達式支持下列 3 個標誌:
- g: 表示全局(global)模式,即模式將被應用於所有字符串,而非在發現第一個匹配項時立即停止;
- i : 表示不區分大小寫(case-insensitive)模式,即在確定匹配項時忽略模式與字符串的大小寫;
- m:表示多行(multiline)模式,即在到達一行文本末尾時還會繼續查找下一行中是否存在與模式匹配的項。
如果多個標誌同時使用時,則寫成:gmi 。
正則表達式的創建有兩種方式: new RegExp(expression) 和 直接字面量。
[csharp] view plain copy- //使用直接字面量創建
- var exp1 = /(^\s+)|(\s+$)/g;
- //使用RegExp對象創建
- var exp2 = new RegExp("(^\\s+)|(\\s+$)","g");
exp1 和 exp2 是兩個完全等價的正則表達式,需要註意的是,傳遞給 RegExp 構造函數的兩個參數都是字符串,不能把正則表達式字面量傳遞給 RegExp 構造函數。
與其他語言中的正則表達式類似,模式中使用的所有元字符都必須轉義。正則表達式中的元字符包括:
[csharp] view plain copy- ( [ { \ ^ $ | ) ? * + .] }
這些元字符在正則表達式中都有一或多種特殊用途,因此如果想要匹配字符串中包含的這些字符,就必須對它們進行轉義。
[csharp] view plain copy- //匹配 .docx
- var exp = /\.docx/gi ;
由於 RegExp 構造函數的模式參數是字符串,所以在某些情況下要對字符進行雙重轉義。所有元字符都必須雙重轉義,那些已經轉義過的字符也是如此。
[csharp] view plain copy- // 對 \. 再次轉義
- var exp = new RegExp("\\.docx","gi");
- //匹配 \n
- var exp1 = /\\n/g; //對\n中的\轉義
- var exp2 = new RegExp("\\\\n","g"); // 對 \\n 再次轉義
h5牛牛魚蝦蟹房卡源碼搭建 詳細咨詢Q 2171793408 官網地址:http://wowotouba.com/h5
h5牛牛魚蝦蟹房卡源碼搭建 redisTemplate教程