效能優化及使用者體驗

2021-08-25 04:25:13 字數 1125 閱讀 8562

這個話題跟我的另一篇部落格「sql效能優化」應該是類似的,只不過是關注方面不同。為什麼會有意寫這樣一篇文章呢?這是因為遇到乙個專案需要將大量(1-10萬)的手機號碼儲存到txt檔案中(每行乙個)然後讀取到listbox控制項中顯示。起初的時候沒有多想就用了最直接的方式,讀取一萬的時候還可以,但是到了五萬、十萬條感覺就很慢了幾乎假死。怎麼辦呢?不得不思考。

字串操作的優化

在這之前我想先看看怎麼樣用**建立乙個10萬條的txt檔案。

第一種方式:

private void frmtest_load(object sender, eventargs e) txt.write("c:", str); sw.stop(); messagebox.show("ok!" + environment.newline + sw.elapsed.totalseconds); }

共花費時間87.1809591秒

第二種方式:

private void btntest_click(object sender, eventargs e) } } sw.stop(); messagebox.show("ok"+environment.newline+sw.elapsed.totalseconds); }

使用者體驗

我在介面上又新增了進度條pbprogress和顯示載入資訊的lbloadednum,另外用到了lambda表示式(這裡可以看出lambda表示式的作用,如果每個設定資訊都宣告委託再寫相應的方法就十分麻煩了),具體**:

private void btntest_click(object sender, eventargs e) } } private void setlistbox(string strs) this.invoke((methodinvoker)(()=>lbloadednum.text="載入完成!")); }

注意:上面我們為了增加使用者體驗在迴圈中做了很多額外工作,其消耗時間會增長很多(因為每次迴圈都會多執行那些增加使用者體驗的**,而迴圈此說又相當多),所以我們實際中還是要根據情況而定,對於我上面提到的功能我覺得是可以這樣做的,因為是非同步的,等待的同時並不影響效能,比起在那幹等要好些。好了,今天的話題就到這裡吧,關於效能優化牽扯到方方面面,這裡僅僅就這一點而談。

使用者體驗優化 20190802

一 產品設計除了易用性以外,需要考慮使用者的使用場景 使用者的使用場景,涉及到很多具體的條件 前置條件一 是否有網路的情況 當使用者有網路的時候,目前主流的三大 應用都選擇進入首頁,即展示最重要的 資訊及內容 這個提示就很棒!告訴我發生了什麼,同時告知我可以幹嘛,兩者缺一不可。前置條件二 網路連線的...

web開發效能優化 使用者體驗篇

怎樣從技術角度怎樣增強使用者體驗。都是非常多平台都在做的事情,依據個人實際經驗碰到幾種體驗做下總結。1 降低頁面重新整理白屏 適當使用ajax技術。改善重新整理白屏現象。2 資訊提醒,郵件 站內信 簡訊 在購物流程 售後流程適當新增資訊溫馨提醒環節 3 定期回訪及互動 記錄好會員每次來電來訪 購買情...

loading的使用者體驗優化

零零散散,會陸續新增 1 loading 沒人喜歡等待,使用者能夠忍受載入的最長時間在 6到8秒。8秒是乙個臨界值,如果載入時間在8秒以上,大部分訪問者最終會選擇放棄,除非他一定要開啟那個頁面。a.緩解loading時人們的焦慮情緒方式 一 讓人們看到loading結束的希望,載入程序數位化 已經載...