小程序你應(yīng)該知道的那些事

小程序的運(yùn)行機(jī)制

小程序把啟動分為兩種:冷啟動、熱啟動

  • 冷啟動就是第一次啟動小程序,或是小程序從被內(nèi)存銷毀到再次啟動
  • 熱啟動就是用戶打開過小程序還沒有被銷毀,再打開小程序就只是把小程序從后臺切到前端顯示

小程序銷毀的時機(jī):

  • 小程序切到后臺后,五分鐘內(nèi)就會被微信主動銷毀
  • 在iOS下如果五秒內(nèi)超過1次的內(nèi)存告警蕾盯,就會被銷毀
  • 用戶手動從小程序列表刪除小程序

app.js 應(yīng)用對象里的生命周期回調(diào)函數(shù)有:

onLaunch() //小程序初始化應(yīng)用對象時調(diào)用一次,即每次冷啟動的時候會調(diào)用一次蓝丙,熱啟動不會被調(diào)用
onShow()    //小程序從后臺進(jìn)入前臺時調(diào)用
onHide()     //小程序從前臺進(jìn)入后臺時調(diào)用 
onError()    // 小程序發(fā)生腳本錯誤级遭,或是調(diào)用微信api失敗時觸發(fā)望拖。
onPageNotFound() //當(dāng)訪問小程序不存的頁面時,該頁面會被觸發(fā)挫鸽,一般在里面寫一些404跳轉(zhuǎn)頁面
每個頁面對象里的生命周期回調(diào)函數(shù)及默認(rèn)事件處理函數(shù)有:
onPullDownRefresh() //即當(dāng)用戶下拉時觸發(fā)说敏,要在app.json的window選項(xiàng)中或頁面配置中開啟enablePullDownRefresh才有效哈
onReachBottom() //監(jiān)聽用戶上拉觸底事件,可以在app.json的window選項(xiàng)中或頁面配置中設(shè)置觸發(fā)距離onReachBottomDistance
onPageScroll() //監(jiān)聽滑動頁面事件掠兄,切記切記別在此方法里過于頻繁執(zhí)行setData
onShareAppMessage() //監(jiān)聽用戶點(diǎn)擊分享時像云,自定義分享的標(biāo)題內(nèi)容
onResize() //小程序屏幕旋轉(zhuǎn)時觸發(fā)锌雀÷煜Γ基礎(chǔ)庫 2.4.0 開始支持哈
onTabItemTap() //點(diǎn)擊 tab(即底部菜單欄) 時觸發(fā),基礎(chǔ)庫 1.9.0 開始支持
onLoad() //面加載時觸發(fā), 只在頁面第一次加載時觸發(fā)
onShow() //頁面從后臺切入前臺時觸發(fā)腋逆,頁面初始化時觸發(fā)
onReady() //頁面初次渲染完成時觸發(fā)婿牍,只觸發(fā)一次
onHide() //頁面從前臺切入后臺時觸發(fā)
onUnload() //頁面卸載時觸發(fā),即redirectTo或navigateBack到其他頁面時觸發(fā)

小程序跳轉(zhuǎn) H5 頁必須是已打開 WebView(小程序有一個打開 web-view 組件)的方式打開惩歉,不可跳轉(zhuǎn)到外部 H5 頁等脂。目前 H5 頁不可跳小程序,只有在小程序以 web-view 組件打開的 H5 里才可以跳回到小程序撑蚌。切記跳的 H5 地址還得在小程序管理后臺設(shè)置白名單方上遥,且這個地址一定是你們可控的。

App 可以跳轉(zhuǎn)到小程序争涌,小程序只能被動跳轉(zhuǎn)到 App粉楚,不可主動跳轉(zhuǎn)到 App。被動是指只有當(dāng) App 主動跳入小程序亮垫,小程序才可以跳回到 App模软。

小程序的渲染方式為 WebView,而非原生渲染饮潦,只有 <canvas/>燃异、<video/>、<map/>继蜡、<textarea/>回俐、<input>、<live-pusher>稀并、<live-player> 幾個組件才是原生渲染仅颇。

小程序目前統(tǒng)一使用 rpx 單位來隔離機(jī)器之間屏幕大小的差異,以達(dá)到適配稻轨,讓開發(fā)者更加專注業(yè)務(wù)灵莲。

目前一個小程序不可超過 2M,如果小程序做了分包殴俱,則所有包加起來不可超過 8M政冻,每個包不可超過 2M枚抵。

微信開發(fā)者工具下 JS 是跑在 Node-Webkit 內(nèi)核,iOS 下是跑在 JSCore 內(nèi)核明场,安卓下是跑在 X5 內(nèi)核汽摹。

iOS 下大圖和長列表圖都會導(dǎo)致 WKWebView 被回收。

同一個微信用戶苦锨,同一個小程序 storage 上限為 10MB逼泣,如果存儲空間不足,會自動清除掉最久沒使用的數(shù)據(jù)舟舒;本地緩存文件和用戶文件普通小程序上限 10M拉庶,游戲小程序上限 50M。

wx.request秃励、wx.uploadFile氏仗、wx.downloadFile 默認(rèn)超時時間和最大超時時間都是 60s,最大并發(fā)限制是 10 個夺鲜,網(wǎng)絡(luò)請求的 Referer header 不可設(shè)置皆尔。其格式固定為 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 為小程序的 AppID币励,{version} 為小程序的版本號慷蠕。版本號為 0 表示為開發(fā)版、體驗(yàn)版及審核版本食呻,版本號為 devtools 表示為開發(fā)者工具流炕,其余為正式版本。

在寫頁面的時候搁进,如果頁面上有倒計時功能浪感,在小程序 onHide 后沒有停掉倒計時,在 iPhone 下就會觸發(fā)內(nèi)存不夠饼问,小程序被回收影兽;而再把小程序切回到前臺界面上,小程序又沒有重新渲染莱革,從而導(dǎo)致白屏峻堰。建議在 onHide 里及時結(jié)束倒計時,onShow 里再重新啟動盅视。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捐名,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子闹击,更是在濱河造成了極大的恐慌镶蹋,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贺归,居然都是意外死亡淆两,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門拂酣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秋冰,“玉大人,你說我怎么就攤上這事婶熬〗9矗” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵赵颅,是天一觀的道長虽另。 經(jīng)常有香客問我,道長性含,這世上最難降的妖魔是什么洲赵? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮商蕴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芝发。我一直安慰自己绪商,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布辅鲸。 她就那樣靜靜地躺著格郁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪独悴。 梳的紋絲不亂的頭發(fā)上例书,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天,我揣著相機(jī)與錄音刻炒,去河邊找鬼决采。 笑死,一個胖子當(dāng)著我的面吹牛坟奥,可吹牛的內(nèi)容都是我干的树瞭。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼爱谁,長吁一口氣:“原來是場噩夢啊……” “哼晒喷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起访敌,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤凉敲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爷抓,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡雨效,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了废赞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徽龟。...
    茶點(diǎn)故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖唉地,靈堂內(nèi)的尸體忽然破棺而出据悔,到底是詐尸還是另有隱情,我是刑警寧澤耘沼,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布极颓,位于F島的核電站,受9級特大地震影響群嗤,放射性物質(zhì)發(fā)生泄漏菠隆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一狂秘、第九天 我趴在偏房一處隱蔽的房頂上張望骇径。 院中可真熱鬧,春花似錦者春、人聲如沸破衔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晰筛。三九已至,卻和暖如春拴袭,著一層夾襖步出監(jiān)牢的瞬間读第,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工拥刻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怜瞒,地道東北人。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓泰佳,卻偏偏與公主長得像盼砍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子逝她,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容