有沒有bug


本文主要介紹關於大數據的知識點,對【鴻蒙-實踐課程二 android、ios、HarmonyOS】和【有沒有bug】有興趣的朋友可以看下由【鍵盤俠-彈殼】投稿的技術文章,希望該技術和經驗能幫到你解決你所遇的harmonyOS相關技術問題。

有沒有bug

Ability可以分為FA(Feature Ability)和PA(Particle Ability)兩種類型。

PA支持Service Ability和Data Ability。

以上,需要再config.json 中進行type配置。

android 為activity、fragment,Activity需要在AndroidManifest.xml中進行注冊。

harmonyOS 需要在config.json配置。

Ability休要在onStart(Intent intent) 初始化視圖 setUIContent。activity在onCreate(@Nullable Bundle savedInstanceState)初始化 setContentView。

原因:

HarmonyOS Page調用onStart()后進入INACTIVE。Android中當 Activity 進入“已開始”狀態時,系統會調用onStart() 。onStart() 調用使 Activity 對用戶可見,此時只是可見,但不能與用戶進行交互,應用通過此方法來初始化維護界面的代碼。

HarmonyOS Page會在進入INACTIVE狀態后來到前台,然后系統調用onActive()。Page在此之后進入ACTIVE狀態,該狀態是應用與用戶交互的狀態。Android Activity 會在進入“已恢復”狀態時來到前台,然后系統調用 onResume() 回調。這時,生命周期組件可以啟用在組件可見且位於前台時需要運行的任何功能。

對於HarmonyOS Ability Abilityslice中,繼承如下:

Ability extends AbilityContext implements ILifecycle && class AbilitySlice extends AbilityContext implements ILifecycle。

對於android 中Activity,繼承關系如下:

AppCompatActivity  五層級到ContextWrapper,再到Context,復雜功能鏈路。

Fragment implements ComponentCallbacks, OnCreateContextMenuListener, LifecycleOwner, ViewModelStoreOwner, HasDefaultViewModelProviderFactory, SavedStateRegistryOwner。

iOS os 中UIviewcontroller :UIResponder 以及各種協議匯總,最終死nsobject類的UIresponderStandardEditactions。

從原理是,ios < harmonyos < android,層層關系遞進,這需要編譯軟件耗時,運行時候更高效的是層級關系簡單的鏈路。

在宣傳會議后,有這么一張從使用場景、價值、戰略上(來自知乎):

 有人這么調侃:如果Apple把自家的watchOS、iPadOS、macOS、tvOS都改名叫AppleOS,就幾乎占全了鴻蒙的特長。

我做過一些投屏軟件,iosOS開發接觸macOS后,痛苦不堪,很多兼容性api差異化很大,所以這個根本無法對等。

OpenHarmony不是HarmonyOS

華為把HarmonyOS中基礎功能提取出來,打包成功一個項目叫做“Openharmony” ,把Openharmony捐獻給了原子開源基金會。

HarmonyOS 2 並沒有捐出,這個商業版本也是基於開源項目 OpenHarmony 2.0 開發的,兼容了 AOSP,增加了 HMS 。

個人認為,這需要國家層面出手或者更高維度的需求落地進行潛移默化的處理。不能一概去除android、ios好壞之分。借助android、ios競爭性進行harmony突破。

AbilitySlice

切片,是單個可視化界面及其交互邏輯的總和,是Feature Ability的組成單元。一個Feature Ability可以包含一組業務關系密切的可視化界面,每一個可視化界面對應一個AbilitySlice。

eg:

AbilitySlice targetSlice = new MyAbilitySlice();

Intent intent = new Intent(); intent.setParam("value", 10); present(targetSlice, intent);

本文《鴻蒙-實踐課程二 android、ios、HarmonyOS》版權歸鍵盤俠-彈殼所有,引用鴻蒙-實踐課程二 android、ios、HarmonyOS需遵循CC 4.0 BY-SA版權協議。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: