مجموعه استاندارد اموجی سالانه توسط Unicode بازآوری میشود، زیرا استفاده از اموجی بهسرعت برای انواع برنامهها درحال افزایش است.
اگر برنامهتان محتوای اینترنتی نمایش میدهد یا ورودی نوشتاری ارائه میدهد، اکیداً توصیه میکنیم از جدیدترین قلمهای اموجی پشتیبانی کنید. درغیراینصورت، اموجیهای جدیدتر ممکن است بهصورت یک چارگوش کوچک بهنام توفو (☐) یا دیگر توالیهای اموجی نادرست نمایش داده شوند.
Android نسخه ۱۱ (سطح میانای برنامهسازی کاربردی ۳۰) و پایینتر نمیتوانند قلم اموجی را بهروز کنند، بنابراین برنامههایی که آنها را در این نسخهها نمایش میدهند باید بهصورت دستی بهروز شوند.
در زیر نمونههایی از اموجیهای مدرن را میبینید.
| مثالها | نسخه |
|---|---|
| 🇨🇶 | ۱۶.۰ (سپتامبر ۲۰۲۴) |
| 🐦🔥 🧑🧑🧒🧒 👩🏽🦽➡️ 🇲🇶 | ۱۵.۱ (سپتامبر ۲۰۲۳) |
| 🩷 🫸🏼 🐦⬛ | ۱۵٫۰ (سپتامبر ۲۰۲۲) |
| 🫠 🫱🏼🫲🏿 🫰🏽 | ۱۴.۰ (سپتامبر ۲۰۲۱) |
| 😶🌫️ 🧔🏻♀️ 🧑🏿❤️🧑🏾 | ۱۳.۱ (سپتامبر ۲۰۲۰) |
| 🥲 🥷🏿 🐻❄️ | ۱۳.۰ (مارس ۲۰۲۰) |
| 🧑🏻🦰 🧑🏿🦯 👩🏻🤝👩🏼 | ۱۲.۱ (اکتبر ۲۰۱۹) |
| 🦩 🦻🏿 👩🏼🤝👩🏻 | ۱۲٫۰ (فوریه ۲۰۱۹) |
کتابخانه androidx.emoji2:emoji2 سازگاری با نسخه قدیمی سادهتری
با نسخههای پایینتر Android ارائه میدهد. کتابخانه emoji2 وابستگی کتابخانه
AppCompat است و برای کار کردن به پیکربندی
بیشتری نیاز ندارد.
پشتیبانی از اموجی در Compose
BOM مارس ۲۰۲۳ (Compose UI 1.4) از جدیدترین نسخه اموجی پشتیبانی میکند، ازجمله سازگاری با نسخههای قدیمیتر Android تا API 21. این صفحه نحوه پیکربندی اموجی مدرن را در سیستم «نما» پوشش میدهد. برای اطلاعات بیشتر، صفحه اموجی در Compose را ببینید.
پیشنیازها
برای تأیید اینکه برنامهتان اموجیهای جدیدتر را بهدرستی نمایش میدهد، آن را در دستگاهی با Android نسخه ۱۰ (سطح میانای برنامهسازی کاربردی ۲۹) یا پایینتر راهاندازی کنید. این صفحه شامل اموجیهای مدرنی است که میتوانید برای آزمایش نمایش دهید.
استفاده از AppCompat برای پشتیبانی از جدیدترین اموجیها
AppCompat ۱.۴ از اموجی پشتیبانی میکند.
برای استفاده از AppCompat برای پشتیبانی از اموجی، کارهای زیر را انجام دهید:
بررسی کنید که واحدتان به نسخه کتابخانه
AppCompat1.4.0-alpha01 یا بالاتر وابسته باشد.build.gradle // Ensure version is 1.4.0-alpha01 or higher. implementation "androidx.appcompat:appcompat.$appcompatVersion"مطمئن شوید همه فعالیتهایی که نوشتار نمایش میدهند، کلاس
AppCompatActivityرا گسترش میدهند.کاتلین
MyActivity.kt class MyActivity: AppCompatActivity { ... }
جاوا
MyActivity.java class MyActivity extends AppCompatActivity { ... }
با راهاندازی برنامهتان در دستگاهی که Android نسخه ۱۰ یا پایینتر را اجرا میکند و نمایش رشته آزمایشی زیر، ادغام را آزمایش کنید. مطمئن شوید همه نویسهها بهدرستی ارائه شده باشند.
- ۱۶.۰: ، ، 🇨🇶
- ۱۵.۱: 🐦🔥، 🧑🧑🧒🧒، 👩🏽🦽➡️، 🇲🇶
- ۱۵.۰: 🩷، 🫸🏼، 🐦⬛
- 14.0: 🫠، 🫱🏼🫲🏿، 🫰🏽
- ۱۳.۱: 😶🌫️، 🧔🏻♀️، 🧑🏿❤️🧑🏾
- ۱۳.۰: 🥲، 🥷🏿، 🐻❄️
- ۱۲.۱: 🧑🏻🦰، 🧑🏿🦯، 👩🏻🤝👩🏼
- ۱۲.۰: 🦩، 🦻🏿، 👩🏼🤝👩🏻
برنامه شما بهطور خودکار اموجی سازگار با نسخه قدیمی را در همه دستگاههایی که
ارائهدهنده قلمهای بارگیریشدنی سازگار با emoji2 ارائه میدهند، مانند دستگاههایی که
خدمات Google Play دارند، نمایش میدهد.
اگر برنامهتان از AppCompat استفاده میکند اما توفو (☐) نمایش میدهد
در برخی موارد، ممکن است برنامهتان بهجای اموجی مناسب، tofu نمایش دهد، حتی اگر
کتابخانه AppCompat را اضافه کنید. در زیر توضیحات و راهحلهای احتمالی ارائه شده است.
برنامه را در دستگاهی که اخیراً فلش شده یا شبیهساز جدیدی اجرا میکنید
دادههای خدمات Google Play برنامه را پاک کنید تا هرگونه حافظه پنهان قلم که ممکن است درطول راهاندازی اتفاق بیفتد پاک شود. این کار معمولاً مشکل را پساز چند ساعت برطرف میکند.
برای پاک کردن دادههای برنامه، کارهای زیر را انجام دهید:
تنظیمات را در دستگاه Android باز کنید.
روی برنامهها و اعلانها تکضرب بزنید.
روی مشاهده همه برنامهها یا اطلاعات برنامه ضربه بزنید.
در برنامهها پیمایش کنید و روی خدمات Google Play تکضرب بزنید.
روی فضای ذخیرهسازی و حافظه پنهان تکضرب بزنید.
روی پاک کردن حافظه پنهان ضربه بزنید.
برنامه شما از کلاس مرتبط با نوشتار AppCompat استفاده نمیکند
این اتفاق زمانی میافتد که AppCompatActivity را گسترش ندهید یا اگر نمایی را در کد نمونهسازی کنید، مثلاً TextView. موارد زیر را بررسی کنید:
- فعالیت
AppCompatActivityرا تمدید میکند. - اگر نما را در کد ایجاد میکنید، از
AppCompatزیرکلاس صحیح استفاده کنید.
AppCompatActivity بهطور خودکار AppCompatTextView را بهجای
TextView هنگام گسترش XML گسترش میدهد، بنابراین نیازی به بهروزرسانی XML ندارید.
تلفن آزمایشی از قلمهای بارگیریشدنی پشتیبانی نمیکند
تأیید کنید که DefaultEmojiCompatConfig.create پیکربندی غیرتهی برمیگرداند.
شبیهساز در سطح میانای برنامهسازی کاربردی قدیمیتر «خدمات Google Play» را ارتقا نداده است
هنگام استفاده از شبیهساز در سطح API قدیمیتر، ممکن است لازم باشد
«خدمات Google Play» همراه را برای emoji2 بهروز کنید تا ارائهدهنده قلم را پیدا کنید. برای انجام این کار،
در شبیهساز به سیستم «فروشگاه Google Play» وارد شوید.
برای تأیید اینکه نسخه سازگار نصب شده است، کارهای زیر را انجام دهید:
فرمان زیر را اجرا کنید:
adb shell dumpsys package com.google.android.gms | grep versionبررسی کنید که
versionCodeبالاتر از211200000باشد.
پشتیبانی از اموجی بدون AppCompat
اگر برنامهتان نمیتواند AppCompat را دربرگیرد، میتواند مستقیماً از emoji2 استفاده کند. این
روش به کار بیشتری نیاز دارد، بنابراین فقط درصورتی از این روش استفاده کنید که برنامهتان نمیتواند از AppCompat استفاده کند.
برای پشتیبانی از اموجی بدون کتابخانه AppCompat، کارهای زیر را انجام دهید:
در فایل
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را پیادهسازی میکند.در XML و کد—هرجا از
TextView،EditText، یاButtonاستفاده میکنید—بهجای آنها ازEmojiTextView،EmojiEditText، یاEmojiButtonاستفاده کنید.activity_main.xml <androidx.emoji2.widget.EmojiTextView ... /> <androidx.emoji2.widget.EmojiEditText ... /> <androidx.emoji2.widget.EmojiButton ... />با گنجاندن واحد
emoji2، سیستم از ارائهدهنده قلمهای بارگیریشدنی پیشفرض استفاده میکند تا قلم اموجی را بهطور خودکار کمی پساز راهاندازی برنامه بار کند. به پیکربندی بیشتری نیاز نیست.برای آزمایش ادغام، برنامهتان را در دستگاهی که Android نسخه ۱۱ یا پایینتر را اجرا میکند راهاندازی کنید و رشتههای آزمایشی زیر را نمایش دهید. مطمئن شوید همه نویسهها بهدرستی ارائه شده باشند.
- ۱۶.۰: ، ، 🇨🇶
- ۱۵.۱: 🐦🔥، 🧑🧑🧒🧒، 👩🏽🦽➡️، 🇲🇶
- ۱۵.۰: 🩷، 🫸🏼، 🐦⬛
- 14.0: 🫠، 🫱🏼🫲🏿، 🫰🏽
- ۱۳.۱: 😶🌫️، 🧔🏻♀️، 🧑🏿❤️🧑🏾
- ۱۳.۰: 🥲، 🥷🏿، 🐻❄️
- ۱۲.۱: 🧑🏻🦰، 🧑🏿🦯، 👩🏻🤝👩🏼
- ۱۲.۰: 🦩، 🦻🏿، 👩🏼🤝👩🏻
استفاده از EmojiCompat بدون ابزارهها
EmojiCompat از EmojiSpan برای
پرداخت تصاویر صحیح استفاده میکند. بنابراین، باید هر شیء
CharSequence دادهشده را به شیء
Spanned با اشیاء EmojiSpan تبدیل کند.
کلاس EmojiCompat روش process() را برای تبدیل CharSequences
به نمونههای Spanned ارائه میدهد. بااستفاده از این روش، میتوانید process() را در پسزمینه فراخوانی کنید و نتایج را در حافظه نهان ذخیره کنید، که این کار عملکرد برنامهتان را بهبود میبخشد.
کاتلین
val processed = EmojiCompat.get().process("neutral face \uD83D\uDE10")
جاوا
CharSequence processed = EmojiCompat.get().process("neutral face \uD83D\uDE10");
استفاده از EmojiCompat برای ویرایشگرهای روش ورودی
کلاس EmojiCompat به صفحهکلیدها امکان میدهد اموجیهای پشتیبانیشده توسط برنامهای را که با آن تعامل دارند
پرداخت کنند. ویرایشگرهای روش ورودی
(IMEs) میتوانند از روش
getEmojiMatch()
استفاده کنند تا بررسی کنند آیا نمونهای از EmojiCompat قادر به ارائه
اموجی است یا نه. این روش CharSequence
اموجی را میگیرد و اگر EmojiCompat بتواند اموجی را شناسایی و رندر کند، true را برمیگرداند.
صفحهکلید همچنین میتواند نسخه 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 استفاده نمیکنند تکمیل کنید.
افزودن کتابخانه
emoji2-views-helper:implementation "androidx.emoji2:emoji2-views-helper:$emojiVersion"دستورالعملها را برای گنجاندن
EmojiTextViewHelperیاEmojiEditTextHelperدر نماهای سفارشی برنامهتان دنبال کنید.با راهاندازی برنامهتان در دستگاهی که Android نسخه ۱۰ یا پایینتر را اجرا میکند و نمایش رشته آزمایشی زیر، ادغام را آزمایش کنید. مطمئن شوید همه نویسهها بهدرستی ارائه شده باشند.
- ۱۶.۰: ، ، 🇨🇶
- ۱۵.۱: 🐦🔥، 🧑🧑🧒🧒، 👩🏽🦽➡️، 🇲🇶
- ۱۵.۰: 🩷، 🫸🏼، 🐦⬛
- 14.0: 🫠، 🫱🏼🫲🏿، 🫰🏽
- ۱۳.۱: 😶🌫️، 🧔🏻♀️، 🧑🏿❤️🧑🏾
- ۱۳.۰: 🥲، 🥷🏿، 🐻❄️
- ۱۲.۱: 🧑🏻🦰، 🧑🏿🦯، 👩🏻🤝👩🏼
- ۱۲.۰: 🦩، 🦻🏿، 👩🏼🤝👩🏻
ویژگیهای اختیاری برای مدیریت emoji2
پساز گنجاندن کتابخانه emoji2 در برنامهتان، میتوانید ویژگیهای اختیاری را که در این بخش شرح داده شده است اضافه کنید.
پیکربندی emoji2 برای استفاده از قلمی متفاوت یا ارائهدهنده قلم بارگیریشدنی
برای پیکربندی emoji2 جهت استفاده از قلمی متفاوت یا ارائهدهنده قلم بارگیریشدنی،
کارهای زیر را انجام دهید:
با افزودن موارد زیر به مانیفست خود،
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>یکی از موارد زیر را انجام دهید:
با فراخوانی
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 بیشاز ۱۰ مگابایت است، اکیداً
توصیه میکنیم برنامهتان درصورت امکان از قلمهای بارگیریشدنی استفاده کند. ساخته
emoji2-bundled برای برنامههایی درنظر گرفته شده است که در دستگاههایی هستند که از
قلمهای بارگیریشدنی پشتیبانی نمیکنند.
برای استفاده از مصنوع emoji2-bundled، کارهای زیر را انجام دهید:
شامل دادههای
emoji2-bundledوemoji2:implementation "androidx.emoji2:emoji2:$emojiVersion" implementation "androidx.emoji2:emoji2-bundled:$emojiVersion"emoji2را پیکربندی کنید تا از پیکربندی بستهای استفاده کند:کاتلین
EmojiCompat.init(BundledEmojiCompatConfig(context))
جاوا
EmojiCompat.init(new BundledEmojiCompatConfig(context));
با دنبال کردن مراحل قبلی برای گنجاندن
emojicompatبا یا بدونAppCompat، ادغام را آزمایش کنید. مطمئن شوید رشته آزمایشی بهدرستی نمایش داده میشود.- ۱۶.۰: ، ، 🇨🇶
- ۱۵.۱: 🐦🔥، 🧑🧑🧒🧒، 👩🏽🦽➡️، 🇲🇶
- ۱۵.۰: 🩷، 🫸🏼، 🐦⬛
- 14.0: 🫠، 🫱🏼🫲🏿، 🫰🏽
- ۱۳.۱: 😶🌫️، 🧔🏻♀️، 🧑🏿❤️🧑🏾
- ۱۳.۰: 🥲، 🥷🏿، 🐻❄️
- ۱۲.۱: 🧑🏻🦰، 🧑🏿🦯، 👩🏻🤝👩🏼
- ۱۲.۰: 🦩، 🦻🏿، 👩🏼🤝👩🏻
تأثیر پیکربندی خودکار EmojiCompat
سیستم پیکربندی پیشفرض را بااستفاده از کتابخانه راهاندازی،
EmojiCompatInitializer، و
DefaultEmojiCompatConfig اعمال میکند.
پساز ازسرگیری اولین فعالیت در برنامهتان، مقداردهی اولیه بارگیری قلم اموجی را زمانبندی میکند. این تأخیر کوتاه به برنامهتان اجازه میدهد محتوای اولیهاش را بدون هرگونه تأخیر احتمالی ناشی از بار کردن قلم در رشته پسزمینه نمایش دهد.
DefaultEmojiCompatConfig بهدنبال ارائهدهنده قلم بارگیریشدنی نصبشده در سیستم میگردد که میانای EmojiCompat را پیادهسازی کند، مثل خدمات Google Play. در دستگاههایی که از خدمات Google Play استفاده میکنند، این گزینه قلم را بااستفاده از
خدمات Google Play بار میکند.
مقداردهی اولیه یک رشته پسزمینه برای بار کردن قلم اموجی ایجاد میکند، و بارگیری قلم میتواند تا ۱۰ ثانیه قبلاز اتمام مهلت طول بکشد. پساز بارگیری قلم، حدود ۱۵۰ میلیثانیه در رشته پسزمینه طول میکشد تا EmojiCompat مقداردهی اولیه شود.
مقداردهی اولیه EmojiCompat را بهتعویق بیندازید، حتی اگر EmojiCompatInitializer را غیرفعال کنید. اگر پیکربندی را بهصورت دستی انجام میدهیدEmojiCompat، پساز نمایش اولین صفحه برنامهتان، EmojiCompat.load() را فراخوانی کنید تا از تداخل پسزمینه با بار کردن اولین صفحه جلوگیری شود.
پساز بار کردن، EmojiCompat از حدود ۳۰۰ کیلوبایت حافظه دسترسی تصادفی برای نگهداری فراداده اموجی استفاده میکند.