إتاحة الرموز التعبيرية الحديثة

تجربة طريقة "الكتابة"
‫Jetpack Compose هي مجموعة أدوات واجهة المستخدم التي يُنصح باستخدامها على Android. تعرَّف على كيفية إتاحة استخدام رموز الإيموجي في Compose.

يتم تحديث مجموعة رموز الإيموجي العادية سنويًا من قِبل يونيكود، وذلك لأنّ استخدام رموز الإيموجي يتزايد بسرعة في جميع أنواع التطبيقات.

إذا كان تطبيقك يعرض محتوى من الإنترنت أو يتيح إدخال نص، ننصحك بشدة بإتاحة استخدام أحدث خطوط الرموز التعبيرية. بخلاف ذلك، قد يتم عرض الرموز التعبيرية اللاحقة كمربّع صغير يُعرف باسم توفو (☐) أو تسلسلات أخرى من الرموز التعبيرية المعروضة بشكل غير صحيح.

لا يمكن تحديث خط الرموز التعبيرية في الإصدارات 11 (المستوى 30 لواجهة برمجة التطبيقات) والإصدارات الأقدم من نظام التشغيل Android، لذا يجب تحديث التطبيقات التي تعرض الرموز التعبيرية على هذه الإصدارات يدويًا.

في ما يلي أمثلة على الرموز التعبيرية الحديثة.

أمثلة الإصدار
🫩 🪉 🇨🇶 16.0 (سبتمبر 2024)
🐦‍🔥 🧑‍🧑‍🧒‍🧒 👩🏽‍🦽‍➡️ 🇲🇶 15.1 (سبتمبر 2023)
🩷 🫸🏼 🐦‍⬛ 15.0 (سبتمبر 2022)
🫠 🫱🏼‍🫲🏿 🫰🏽 14.0 (أيلول/سبتمبر 2021)
😶‍🌫️ 🧔🏻‍♀️ 🧑🏿‍❤️‍🧑🏾 13.1 (أيلول/سبتمبر 2020)
🥲 🥷🏿 🐻‍❄️ 13.0 (مارس 2020)
🧑🏻‍🦰 🧑🏿‍🦯 👩🏻‍🤝‍👩🏼 12.1 (أكتوبر 2019)
🦩 🦻🏿 👩🏼‍🤝‍👩🏻 12.0 (فبراير 2019)

توفّر مكتبة androidx.emoji2:emoji2 توافقًا أبسط مع الإصدارات القديمة من Android. مكتبة emoji2 هي إحدى التبعيات الخاصة بمكتبة AppCompat ولا تتطلّب أي إعدادات إضافية لتعمل.

إتاحة رموز الإيموجي في وضع "إنشاء"

يتيح BOM آذار (مارس) 2023 (Compose UI 1.4) استخدام أحدث إصدار من رموز الإيموجي، بما في ذلك التوافق مع الإصدارات القديمة من Android حتى المستوى 21 لواجهة برمجة التطبيقات. تتناول هذه الصفحة كيفية ضبط رموز الإيموجي الحديثة في نظام العرض. يمكنك الاطّلاع على صفحة رموز الإيموجي في وضع الإنشاء لمزيد من المعلومات.

المتطلّبات الأساسية

للتأكّد من أنّ تطبيقك يعرض الرموز التعبيرية الأحدث بشكل صحيح، شغِّله على جهاز يعمل بالإصدار Android 10 (المستوى 29 من واجهة برمجة التطبيقات) أو إصدار أقدم. تتضمّن هذه الصفحة رموز إيموجي حديثة يمكنك عرضها لاختبارها.

استخدام AppCompat لتوفير أحدث رموز الإيموجي

AppCompat يتضمّن الإصدار 1.4 إمكانية استخدام رموز الإيموجي.

لاستخدام AppCompat لدعم الرموز التعبيرية، اتّبِع الخطوات التالية:

  1. تأكَّد من أنّ الوحدة تعتمد على إصدار المكتبة AppCompat 1.4.0-alpha01 أو إصدار أحدث.

    build.gradle
    
    // Ensure version is 1.4.0-alpha01 or higher.
    implementation "androidx.appcompat:appcompat.$appcompatVersion"
    
  2. تأكَّد من أنّ جميع الأنشطة التي تعرض نصًا توسّع الفئة AppCompatActivity

    Kotlin

    MyActivity.kt
    
    class MyActivity: AppCompatActivity {
    ...
    }

    Java

    MyActivity.java
    
    class MyActivity extends AppCompatActivity {
    ...
    }
  3. اختبِر عملية الدمج من خلال تشغيل تطبيقك على جهاز يعمل بالإصدار 10 من نظام التشغيل Android أو إصدار أقدم وعرض سلسلة الاختبار التالية. تأكَّد من عرض جميع الرموز بشكل صحيح.

    • ‫16.0: 🫩 و🪉 و🇨🇶
    • ‫15.1: 🐦‍🔥، 🧑‍🧑‍🧒‍🧒، 👩🏽‍🦽‍➡️، 🇲🇶
    • ‫15.0: 🩷 و🫸🏼 و🐦‍⬛
    • ‫14.0: 🫠 و🫱🏼‍🫲🏿 و🫰🏽
    • ‫13.1: 😶‍🌫️، 🧔🏻‍♀️، 🧑🏿‍❤️‍🧑🏾
    • ‫13.0: 🥲 و🥷🏿 و🐻‍❄️
    • ‫12.1: 🧑🏻‍🦰، 🧑🏿‍🦯، 👩🏻‍🤝‍👩🏼
    • ‫12.0: 🦩، 🦻🏿، 👩🏼‍🤝‍👩🏻

يعرض تطبيقك تلقائيًا رموز الإيموجي المتوافقة مع الإصدارات القديمة على جميع الأجهزة التي توفّر emoji2، مثل الأجهزة التي تعمل بنظام خدمات Google Play.

إذا كان تطبيقك يستخدم AppCompat ولكنّه يعرض tofu (☐)

في بعض الحالات، قد يعرض تطبيقك مربّعات بدلاً من الرموز التعبيرية المناسبة، حتى إذا أضفت مكتبة AppCompat. في ما يلي التفسيرات والحلول المحتملة.

تشغيل التطبيق على جهاز تم تحديثه مؤخرًا أو على محاكي جديد

محو بيانات تطبيق "خدمات Google Play" لمحو أي ذاكرة تخزين مؤقت للخطوط قد تحدث أثناء بدء التشغيل يؤدي ذلك عادةً إلى حلّ المشكلة بعد بضع ساعات.

لمحو بيانات التطبيق، اتّبِع الخطوات التالية:

  1. افتح الإعدادات على جهاز Android.

  2. انقر على التطبيقات والإشعارات.

  3. انقر على عرض كل التطبيقات أو معلومات التطبيق.

  4. تنقَّل بين التطبيقات وانقر على خدمات Google Play.

  5. انقر على مساحة التخزين وذاكرة التخزين المؤقت.

  6. انقر على محو ذاكرة التخزين المؤقت.

لا يستخدم تطبيقك فئة AppCompat ذات الصلة بالنصوص

يمكن أن يحدث ذلك إذا لم توسّع AppCompatActivity أو إذا أنشأت مثيلاً لعنصر View في الرمز البرمجي، مثل TextView. تحقَّق ممّا يلي:

تعمل السمة AppCompatActivity تلقائيًا على تضخيم AppCompatTextView بدلاً من TextView عند تضخيم XML، لذا لن تحتاج إلى تعديل XML.

لا يتيح الهاتف التجريبي تنزيل الخطوط

تأكَّد من أنّ DefaultEmojiCompatConfig.create تعرض إعدادًا غير فارغ.

لم تتم ترقية "خدمات Google Play" على محاكي بمستوى واجهة برمجة تطبيقات أقدم

عند استخدام محاكي بمستوى واجهة برمجة تطبيقات أقدم، قد تحتاج إلى تحديث خدمات Google Play المضمّنة في emoji2 للعثور على موفّر الخطوط. لإجراء ذلك، سجِّل الدخول إلى "متجر Google Play" على المحاكي.

للتأكّد من تثبيت إصدار متوافق، اتّبِع الخطوات التالية:

  1. نفِّذ الأمر التالي:

    adb shell dumpsys package com.google.android.gms | grep version
    
  2. تأكَّد من أنّ versionCode أكبر من 211200000.

إتاحة استخدام رموز الإيموجي بدون AppCompat

إذا كان تطبيقك لا يمكنه تضمين AppCompat، يمكنه استخدام emoji2 مباشرةً. يتطلّب ذلك مجهودًا أكبر، لذا لا تستخدِم هذه الطريقة إلا إذا كان تطبيقك لا يمكنه استخدام AppCompat.

لاستخدام الرموز التعبيرية بدون مكتبة AppCompat، اتّبِع الخطوات التالية:

  1. في ملف build.gradle الخاص بتطبيقك، أدرِج emoji2 وemoji2-views.

    build.gradle
    
    def emojiVersion = "1.0.0-alpha03"
    implementation "androidx.emoji2:emoji2:$emojiVersion"
    implementation "androidx.emoji2:emoji2-views:$emojiVersion"
    

    توفر الوحدة emoji2-views فئات فرعية من TextView وButton وEditText تنفّذ EmojiCompat. لا تستخدِمها في تطبيق يتضمّن AppCompat، لأنّه يتضمّن EmojiCompat.

  2. في ملفات XML والرموز البرمجية، أينما كنت تستخدم TextView أو EditText أو Button، استخدِم EmojiTextView أو EmojiEditText أو EmojiButton بدلاً من ذلك.

    activity_main.xml
    
    <androidx.emoji2.widget.EmojiTextView ... />
    <androidx.emoji2.widget.EmojiEditText ... />
    <androidx.emoji2.widget.EmojiButton ... />
    

    من خلال تضمين وحدة emoji2، يستخدم النظام موفّر الخطوط التلقائي القابلة للتنزيل من أجل تحميل خط الرموز التعبيرية تلقائيًا بعد وقت قصير من بدء تشغيل التطبيق. لا يلزم إجراء أي إعدادات إضافية.

  3. لاختبار عملية الدمج، شغِّل تطبيقك على جهاز يعمل بالإصدار 11 من نظام التشغيل Android أو إصدار أقدم ويعرض سلاسل الاختبار التالية. تأكَّد من عرض جميع الرموز بشكل صحيح.

    • ‫16.0: 🫩 و🪉 و🇨🇶
    • ‫15.1: 🐦‍🔥، 🧑‍🧑‍🧒‍🧒، 👩🏽‍🦽‍➡️، 🇲🇶
    • ‫15.0: 🩷 و🫸🏼 و🐦‍⬛
    • ‫14.0: 🫠 و🫱🏼‍🫲🏿 و🫰🏽
    • ‫13.1: 😶‍🌫️، 🧔🏻‍♀️، 🧑🏿‍❤️‍🧑🏾
    • ‫13.0: 🥲 و🥷🏿 و🐻‍❄️
    • ‫12.1: 🧑🏻‍🦰، 🧑🏿‍🦯، 👩🏻‍🤝‍👩🏼
    • ‫12.0: 🦩، 🦻🏿، 👩🏼‍🤝‍👩🏻

استخدام EmojiCompat بدون أدوات

يستخدم EmojiCompat EmojiSpan لعرض الصور بشكل صحيح. لذلك، يجب أن يحوّل أي كائن CharSequence إلى كائن Spanned يتضمّن كائنات EmojiSpan. يوفر الصف EmojiCompat الطريقة process() لتحويل CharSequences إلى مثيلات Spanned. باستخدام هذه الطريقة، يمكنك طلب process() في الخلفية وتخزين النتائج مؤقتًا، ما يؤدي إلى تحسين أداء تطبيقك.

Kotlin

val processed = EmojiCompat.get().process("neutral face \uD83D\uDE10")

Java

CharSequence processed = EmojiCompat.get().process("neutral face \uD83D\uDE10");

استخدام EmojiCompat لمحرّرات أساليب الإدخال

تتيح فئة EmojiCompat للوحات المفاتيح عرض رموز الإيموجي المتوافقة مع التطبيق الذي تتفاعل معه. يمكن لمحرّرات أساليب الإدخال استخدام طريقة getEmojiMatch() للتحقّق مما إذا كان مثيل EmojiCompat قادرًا على عرض رموز إيموجي. تأخذ هذه الطريقة CharSequence من إيموجي وتعرض true إذا كان بإمكان EmojiCompat رصد الإيموجي وعرضه.

يمكن للوحة المفاتيح أيضًا التحقّق من إصدار EmojiCompat الذي يتوافق معه التطبيق لتحديد الرموز التعبيرية التي سيتم عرضها في لوحة الألوان. للتحقّق من الإصدار، إذا كان متاحًا، يمكن للوحة المفاتيح البحث عن المفاتيح التالية في حزمة EditorInfo.extras:

  • EDITOR_INFO_METAVERSION_KEY: يمثّل إصدار البيانات الوصفية لرموز الإيموجي التي يستخدمها التطبيق. إذا لم يكن هذا المفتاح متوفّرًا، يعني ذلك أنّ التطبيق لا يستخدم EmojiCompat.
  • EDITOR_INFO_REPLACE_ALL_KEY: إذا كان المفتاح متوفّرًا وتم ضبطه على true، سيضبط التطبيق EmojiCompat لاستبدال جميع الرموز التعبيرية، حتى إذا كانت متوفّرة في النظام.

مزيد من المعلومات حول كيفية ضبط إعدادات مثيل EmojiCompat

استخدام رموز الإيموجي في طرق العرض المخصّصة

إذا كان تطبيقك يتضمّن طرق عرض مخصّصة وهي فئات فرعية مباشرة أو غير مباشرة من TextView، مثل Button أو Switch أو EditText، وكان بإمكان طرق العرض هذه عرض محتوى من إنشاء المستخدمين، يجب أن تنفّذ كل طريقة عرض EmojiCompat.

تختلف العملية حسب ما إذا كان تطبيقك يستخدم مكتبة AppCompat.

إضافة طرق عرض مخصّصة للتطبيقات التي تستخدم AppCompat

إذا كان تطبيقك يستخدم AppCompat، عليك توسيع نطاق تنفيذ AppCompat بدلاً من توسيع نطاق تنفيذ النظام الأساسي. استخدِم الجدول التالي كدليل حول كيفية توسيع نطاق طرق العرض في AppCompat:

بدلاً من تمديد... تمديد
TextView AppCompatTextView
EditText AppCompatEditText
ToggleButton AppCompatToggleButton
Switch SwitchCompat
Button AppCompatButton
CheckedTextView AppCompatCheckedTextView
RadioButton AppCompatRadioButton
CheckBox AppCompatCheckBox
AutoCompleteTextView AppCompatAutoCompleteTextView
MultiAutoCompleteTextView AppCompatMultiAutoCompleteTextView

إضافة طرق عرض مخصّصة للتطبيقات التي لا تستخدم AppCompat

إذا كان تطبيقك لا يستخدم AppCompat، استخدِم أدوات المساعدة في دمج طرق العرض في وحدة emoji2-views-helper المصمَّمة للاستخدام في طرق العرض المخصّصة. وهي الأدوات المساعدة التي تستخدمها مكتبة AppCompat لتوفير إمكانية استخدام رموز الإيموجي.

أكمِل الخطوات التالية لتوفير إمكانية استخدام طرق عرض مخصّصة للتطبيقات التي لا تستخدم AppCompat.

  1. أضِف مكتبة emoji2-views-helper:

    implementation "androidx.emoji2:emoji2-views-helper:$emojiVersion"
    
  2. اتّبِع التعليمات لتضمين EmojiTextViewHelper أو EmojiEditTextHelper في طرق العرض المخصّصة لتطبيقك.

  3. اختبِر عملية الدمج من خلال تشغيل تطبيقك على جهاز يعمل بالإصدار 10 من نظام التشغيل Android أو إصدار أقدم وعرض سلسلة الاختبار التالية. تأكَّد من عرض جميع الرموز بشكل صحيح.

    • ‫16.0: 🫩 و🪉 و🇨🇶
    • ‫15.1: 🐦‍🔥، 🧑‍🧑‍🧒‍🧒، 👩🏽‍🦽‍➡️، 🇲🇶
    • ‫15.0: 🩷 و🫸🏼 و🐦‍⬛
    • ‫14.0: 🫠 و🫱🏼‍🫲🏿 و🫰🏽
    • ‫13.1: 😶‍🌫️، 🧔🏻‍♀️، 🧑🏿‍❤️‍🧑🏾
    • ‫13.0: 🥲 و🥷🏿 و🐻‍❄️
    • ‫12.1: 🧑🏻‍🦰، 🧑🏿‍🦯، 👩🏻‍🤝‍👩🏼
    • ‫12.0: 🦩، 🦻🏿، 👩🏼‍🤝‍👩🏻

ميزات اختيارية للتعامل مع emoji2

بعد تضمين مكتبة emoji2 في تطبيقك، يمكنك إضافة الميزات الاختيارية الموضّحة في هذا القسم.

ضبط emoji2 لاستخدام خط مختلف أو موفِّر خط قابل للتنزيل

لضبط emoji2 لاستخدام خط مختلف أو مقدّم خطوط قابل للتنزيل، اتّبِع الخطوات التالية:

  1. يمكنك إيقاف EmojiCompatInitializer من خلال إضافة ما يلي إلى البيان:

    <provider
    android:name="androidx.startup.InitializationProvider"
    android:authorities="${applicationId}.androidx-startup"
    android:exported="false"
    tools:node="merge">
    <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
               tools:node="remove" />
    </provider>
  2. نفّذ أيًا مما يلي:

    • استخدِم الإعدادات التلقائية من خلال استدعاء DefaultEmojiCompatConfiguration.create(context).

    • أنشئ إعداداتك الخاصة لتحميل الخطوط من مصدر آخر باستخدام EmojiCompat.Config. يوفر هذا الصف عدة خيارات لتعديل سلوك EmojiCompat، كما هو موضح في القسم التالي.

تعديل سلوك EmojiCompat

يمكنك استخدام مثيل EmojiCompat.Config لتعديل سلوك EmojiCompat.

إنّ أهم خيار إعداد هو setMetadataLoadStrategy()، الذي يتحكّم في وقت تحميل EmojiCompat للخط. يبدأ تحميل الخط بمجرد استدعاء EmojiCompat.load()، ويؤدي ذلك إلى بدء أي عمليات تنزيل ضرورية. ينشئ النظام سلسلة محادثات لتنزيل الخط ما لم يوفّر تطبيقك سلسلة محادثات.

تتيح لك السمة LOAD_STRATEGY_MANUAL التحكّم في وقت استدعاء السمة EmojiCompat.load()، بينما تتيح السمة LOAD_STRATEGY_DEFAULT بدء التحميل بشكل متزامن في استدعاء السمة EmojiCompat.init().

تستخدِم معظم التطبيقات LOAD_STRATEGY_MANUAL حتى تتمكّن من التحكّم في سلسلة التعليمات وتوقيت تحميل الخط. يجب أن يؤجّل تطبيقك عرض الإعلان إلى ما بعد ظهور الشاشة الأولى لتجنُّب حدوث تأخير في بدء التشغيل. تتّبع EmojiCompatInitializer هذه الممارسة وتؤجّل تحميل خط الرموز التعبيرية إلى ما بعد استئناف الشاشة الأولى.

استخدِم الطرق التالية من الفئة الأساسية لضبط جوانب أخرى من عملية الضبط:

  • setReplaceAll(): تحدّد هذه السمة ما إذا كان EmojiCompat سيستبدل كل رموز الإيموجي التي يعثر عليها بنسخ من EmojiSpan. تلقائيًا، عندما يستنتج EmojiCompat أنّ النظام يمكنه عرض رمز إيموجي، لا يستبدل هذا الرمز. عند ضبطها على true، يستبدل EmojiCompat كل رموز الإيموجي بأشياء EmojiSpan.
  • setEmojiSpanIndicatorEnabled(): تحدّد هذه السمة ما إذا كان EmojiCompat يستبدل رمز إيموجي بكائن EmojiSpan. عند ضبطها على true، ترسم EmojiCompat خلفية لـ EmojiSpan. تُستخدَم هذه الطريقة بشكل أساسي لأغراض تصحيح الأخطاء.
  • setEmojiSpanIndicatorColor: يضبط اللون للإشارة إلى EmojiSpan. القيمة التلقائية هي GREEN.
  • registerInitCallback(): تُعلم هذه السمة أحد التطبيقات بحالة عملية تهيئة EmojiCompat.

إضافة أدوات معالجة التهيئة

توفّر الفئتان EmojiCompat وEmojiCompat.Config الطريقتَين registerInitCallback() و unregisterInitCallback() لتسجيل عمليات معاودة الاتصال الخاصة ببدء التشغيل وإلغاء تسجيلها. يستخدم تطبيقك عمليات الاستدعاء هذه للانتظار إلى أن يتم تهيئة EmojiCompat قبل معالجة الإيموجي في سلسلة محادثات في الخلفية أو في عرض مخصّص.

لاستخدام هذه الطرق، أنشئ مثيلاً لفئة EmojiCompat.InitCallback. استدعِ هذه الطرق وأدخِل مثيلاً من الفئة EmojiCompat.InitCallback. عند اكتمال عملية التهيئة بنجاح، تستدعي الفئة EmojiCompat الطريقة onInitialized(). في حال تعذّر إعداد المكتبة، يستدعي الصف EmojiCompat الطريقة onFailed().

للتحقّق من حالة التهيئة في أي وقت، استدعِ طريقة getLoadState(). تعرض هذه الطريقة إحدى القيم التالية: LOAD_STATE_LOADING أو LOAD_STATE_SUCCEEDED أو LOAD_STATE_FAILED.

إتاحة حِزم الخطوط مع emoji2

يمكنك استخدام العنصر emoji2-bundled لتضمين خط إيموجي في تطبيقك، ولكن بما أنّ حجم خط NotoColorEmoji يتجاوز 10 ميغابايت، ننصحك بشدة بأن يستخدم تطبيقك الخطوط القابلة للتنزيل كلما أمكن ذلك. تم تصميم العنصر emoji2-bundled للاستخدام مع التطبيقات على الأجهزة التي لا تتوافق مع الخطوط القابلة للتنزيل.

لاستخدام العنصر emoji2-bundled، اتّبِع الخطوات التالية:

  1. تضمين العنصرَين emoji2-bundled وemoji2:

    implementation "androidx.emoji2:emoji2:$emojiVersion"
    implementation "androidx.emoji2:emoji2-bundled:$emojiVersion"
    
  2. اضبط emoji2 لاستخدام الإعدادات المجمّعة:

    Kotlin

    EmojiCompat.init(BundledEmojiCompatConfig(context))

    Java

    EmojiCompat.init(new BundledEmojiCompatConfig(context));
  3. اختبِر عملية الدمج باتّباع الخطوات السابقة لتضمين emojicompat مع AppCompat أو بدونها. تأكَّد من عرض السلسلة الاختبارية بشكل صحيح.

    • ‫16.0: 🫩 و🪉 و🇨🇶
    • ‫15.1: 🐦‍🔥، 🧑‍🧑‍🧒‍🧒، 👩🏽‍🦽‍➡️، 🇲🇶
    • ‫15.0: 🩷 و🫸🏼 و🐦‍⬛
    • ‫14.0: 🫠 و🫱🏼‍🫲🏿 و🫰🏽
    • ‫13.1: 😶‍🌫️، 🧔🏻‍♀️، 🧑🏿‍❤️‍🧑🏾
    • ‫13.0: 🥲 و🥷🏿 و🐻‍❄️
    • ‫12.1: 🧑🏻‍🦰، 🧑🏿‍🦯، 👩🏻‍🤝‍👩🏼
    • ‫12.0: 🦩، 🦻🏿، 👩🏼‍🤝‍👩🏻

تأثير إعدادات EmojiCompat التلقائية

يطبّق النظام الإعداد التلقائي باستخدام مكتبة بدء التشغيل، EmojiCompatInitializer، و DefaultEmojiCompatConfig.

بعد استئناف النشاط الأول في تطبيقك، يجدول برنامج التهيئة عملية تحميل خط الرموز التعبيرية. يسمح هذا التأخير القصير لتطبيقك بعرض محتواه الأوّلي بدون أي تأخير محتمل بسبب تحميل الخط في سلسلة محادثات في الخلفية.

يبحث DefaultEmojiCompatConfig عن موفّر خطوط قابلة للتنزيل مثبَّتة على النظام ويتضمّن واجهة EmojiCompat، مثل &quot;خدمات Google Play&quot;. على الأجهزة التي تعمل من خلال "خدمات Google Play"، يتم تحميل الخط باستخدام "خدمات Google Play".

ينشئ برنامج التهيئة سلسلة تعليمات في الخلفية لتحميل خط الإيموجي، وقد يستغرق تنزيل الخط مدة تصل إلى 10 ثوانٍ قبل انتهاء المهلة. بعد تنزيل الخط، يستغرق تهيئة EmojiCompat حوالي 150 ملي ثانية في سلسلة محادثات في الخلفية.

تأجيل عملية إعداد EmojiCompat، حتى إذا أوقفت EmojiCompatInitializer في حال ضبط الإعدادات يدويًا EmojiCompat، اتّصِل بالدالة EmojiCompat.load() بعد عرض الشاشة الأولى من تطبيقك لتجنُّب التعارض في الخلفية مع عملية تحميل الشاشة الأولى.

بعد التحميل، يستخدم EmojiCompat حوالي 300 كيلوبايت من ذاكرة الوصول العشوائي للاحتفاظ بالبيانات الوصفية لرموز الإيموجي.