AbilityStage是一個Module級別的組件容器,應(yīng)用的HAP在首次加載時會創(chuàng)建一個AbilityStage實例,可以對該Module進(jìn)行初始化等操作。
AbilityStage與Module一一對應(yīng),即一個Module擁有一個AbilityStage。
DevEco Studio默認(rèn)工程中未自動生成AbilityStage,如需要使用AbilityStage的能力,可以手動新建一個AbilityStage文件,具體步驟如下。
1.在工程Module對應(yīng)的ets目錄下,右鍵選擇“New > Directory”,新建一個目錄并命名為myabilitystage。
2.在myabilitystage目錄,右鍵選擇“New > TypeScript File”,新建一個TypeScript文件并命名為MyAbilityStage.ts。
3.打開MyAbilityStage.ts文件,導(dǎo)入AbilityStage的依賴包,自定義類繼承AbilityStage并加上需要的生命周期回調(diào),示例中增加了一個onCreate()生命周期回調(diào)。
import AbilityStage from '@ohos.app.ability.AbilityStage';
export default class MyAbilityStage extends AbilityStage {
onCreate() {
// 應(yīng)用的HAP在首次加載的時,為該Module初始化操作
}
onAcceptWant(want) {
// 僅specified模式下觸發(fā)
return "MyAbilityStage";
}
}
4.在module.json5配置文件中,通過配置srcEntry參數(shù)來指定模塊對應(yīng)的代碼路徑,以作為HAP加載的入口。
{
"module": {
"name": "entry",
"type": "entry",
"srcEntry": "./ets/myabilitystage/MyAbilityStage.ts",
...
}
}
AbilityStage擁有onCreate()生命周期回調(diào)和onAcceptWant()、onConfigurationUpdated()、onMemoryLevel()事件回調(diào)。
onCreate()生命周期回調(diào):在開始加載對應(yīng)Module的第一個UIAbility實例之前會先創(chuàng)建AbilityStage,并在AbilityStage創(chuàng)建完成之后執(zhí)行其onCreate()生命周期回調(diào)。AbilityStage模塊提供在Module加載的時候,通知開發(fā)者,可以在此進(jìn)行該Module的初始化(如資源預(yù)加載,線程創(chuàng)建等)能力。
onAcceptWant()事件回調(diào):UIAbility指定實例模式(specified)啟動時候觸發(fā)的事件回調(diào),具體使用請參見UIAbility啟動模式綜述。
onConfigurationUpdated()事件回調(diào):當(dāng)系統(tǒng)全局配置發(fā)生變更時觸發(fā)的事件,系統(tǒng)語言、深淺色等,配置項目前均定義在Configuration類中。文章來源:http://www.zghlxwxcb.cn/news/detail-682298.html
onMemoryLevel()事件回調(diào):當(dāng)系統(tǒng)調(diào)整內(nèi)存時觸發(fā)的事件。
應(yīng)用被切換到后臺時,系統(tǒng)會將在后臺的應(yīng)用保留在緩存中。即使應(yīng)用處于緩存中,也會影響系統(tǒng)整體性能。當(dāng)系統(tǒng)資源不足時,系統(tǒng)會通過多種方式從應(yīng)用中回收內(nèi)存,必要時會完全停止應(yīng)用,從而釋放內(nèi)存用于執(zhí)行關(guān)鍵任務(wù)。為了進(jìn)一步保持系統(tǒng)內(nèi)存的平衡,避免系統(tǒng)停止用戶的應(yīng)用進(jìn)程,可以在AbilityStage中的onMemoryLevel()生命周期回調(diào)中訂閱系統(tǒng)內(nèi)存的變化情況,釋放不必要的資源。文章來源地址http://www.zghlxwxcb.cn/news/detail-682298.html
import AbilityStage from '@ohos.app.ability.AbilityStage';
export default class MyAbilityStage extends AbilityStage {
onMemoryLevel(level) {
// 根據(jù)系統(tǒng)可用內(nèi)存的變化情況,釋放不必要的內(nèi)存
}
}
到了這里,關(guān)于HarmonyOS/OpenHarmony(Stage模型)卡片開發(fā)AbilityStage組件容器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!