使用Persimmon UI Builder 开发的一些技巧和注意事项 -- (RT-thread 柿饼UI)
-
比如音樂播放器的播放按鍵,第一次按播放(顯示播放圖片),第二次按停止(顯示停止圖片),第三次按又播放,周而復(fù)始。對于那種需要重復(fù)點擊,但是兩次點擊的效果也不同的(無論是顯示圖片還是要執(zhí)行不同的代碼),使用 Switch 控件可以很方便的實現(xiàn)。
-
設(shè)計器自帶的是點陣字體,字體大小為 16,不可更改,否則會顯示錯誤。
-
關(guān)于定時器的使用的注意事項(主要是要記得及時刪除定時器)
使用timer時,一般將其定義在page對象內(nèi),作為page的屬性之一,這樣在page退出時可以將無用的timer釋放掉,防止內(nèi)存泄漏。
setTimeout / clearTimeout 或者 setInterval / clearInterval 要成對使用,在合適的時刻一定要刪除定時器。注意,即使是只會超時一次的 setTimeout 也一定要手動刪除。否則,在頁面頻繁切換或其他情況下,系統(tǒng)會因內(nèi)存泄漏完而宕機!
在代碼中操作定時器變量時,切勿重新賦值。應(yīng)該確保賦值之前該變量已經(jīng)不持有定時器(不然就要先刪除定時器)
Page 退出時應(yīng)該刪除當前 Page 中還存在的所有 Timer。在 onExit 方法中刪除即可。
----- 來自《PersimUI 幫助手冊》 -
全局變量的定義應(yīng)該放在app.js
一般的全局變量定義在 app.js 內(nèi),在 page 文件中定義會不可控且造成內(nèi)存泄漏,因為每次進入該頁面加載 js 文件時,會去創(chuàng)建一個新的全局變量到內(nèi)存中,上次進入該頁面創(chuàng)建的該變量就會失去控制,一直存在于內(nèi)存中,進而導(dǎo)致內(nèi)存泄漏。
----- 來自《PersimUI 幫助手冊》 -
自動整理JS代碼的縮進快捷鍵(很方便的一個功能,省了不少排版時間)
Shift + Alt + F -
go to define 功能(跳轉(zhuǎn)到函數(shù)定義處)
針對在同一頁面下的函數(shù), 按住 ctrl 鍵,同時鼠標放在引用的函數(shù)式子上,會有超鏈接編輯,然后鼠標點擊可跳轉(zhuǎn)。 -
循環(huán)調(diào)用重復(fù)的控件設(shè)置不同的參數(shù)(這里以this.setData()舉例)
this.setData({ label0: { value: 'A0'} }); this.setData({ label1: { value: 'A1'} }); this.setData({ label2: { value: 'A2'} }); this.setData({ label3: { value: 'A3'} }); this.setData({ label4: { value: 'A4'} });
我們一般會這樣寫:其實,我們可以這樣寫:
var obj = { }; for (var i = 0; i<5; i++) {obj['label' + i] = {value: 'A'+i}; } this.setData(obj);相當于 this.setData() 可以放入一個對象obj,obj就是如下形式:
{label0 : {value : "A0"}, label1 : {value : "A1"}, label2 : {value : "A2"},label3 : {value : "A3"},label4 : {value : "A4"}, } -
善于使用console.log() 函數(shù)
console.log('------------> 1'); //代碼塊1 console.log('------------> 2'); //代碼塊2 console.log('------------> 3'); //代碼塊3
如下所示,如果你知道在某片代碼段輸出錯誤,只需通過插入console.log() 函數(shù),當調(diào)試界面無法輸出對應(yīng)的console.log() 語句時,就知道是其之前的代碼塊出錯了,能夠很快的縮小范圍。 -
this.setData()可以同時給多個控件賦值,這樣做可以減少些代碼量
總結(jié)
以上是生活随笔為你收集整理的使用Persimmon UI Builder 开发的一些技巧和注意事项 -- (RT-thread 柿饼UI)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何将3d文件在网页中显示(webGL,
- 下一篇: [计算机网络] 实验 5 电子邮件