Flutter Zone | فلاتر و دارت
778 subscribers
514 photos
310 videos
1.07K files
802 links
ناحیه‌ی فلاتر
برای فلاتر
اموزش های فلاتر و دارت از یودمی

لینک گروه : https://t.me/flutterzone_group
Download Telegram
Forwarded from sasan safari
🎯‌ انوتیشن pragma('vm\:entry-point')@ در فلاتر چه کاربردی داره؟

اگه با فلاتر کار می‌کنی و دنبال اجرای آلارم، ‌بک‌گراند تسک یا نوتیف زمان‌بندی‌شده هستی، حتماً به این خط برخوردی:

@pragma('vm:entry-point')


اما دقیقاً این چی کار می‌کنه؟ چرا لازمه؟ ⬇️

به Dart VM می‌گه:

> «این تابع رو نگه‌دار! حتی اگه فک می‌کنی هیچ‌جا استفاده نشده.»

---

📦 کجا لازمه؟

وقتی تابع قراره:
توسط AndroidAlarmManager اجرا بشه
توی isolate جدا اجرا شه
یا بعد از ری‌استارت گوشی بالا بیاد
حتی توی native callback یا background fetch

---

🚫 بدون این خط، Dart ممکنه اون تابع رو تو مرحله build حذف کنه (به خاطر tree-shaking)
و نتیجه‌ش؟
⛔️ آلارم اجرا نمی‌شه
⛔️ هیچ نوتیفی نمیاد
⛔️ هیچ اروری هم نمی‌بینی!

---

✍️ مثال واقعی:

@pragma('vm:entry-point')
Future<void> startFastingCallback() async {
// اجرای آلارم برای شروع فست
}


---

📌 پس اگر داری با:

* AlarmManager
* isolate
* background task
* native callbacks

کار می‌کنی، یادت نره این خط رو اضافه کنی

---

🧠 نکته‌ی طلایی آخر:

> این annotation فقط برای توابعیه که **از مسیر اصلی اپ صدا زده نمی‌شن**، اما توی پس‌زمینه قراره اجرا شن.

---

برای رفقات بفرست 💙
#Flutter #AndroidAlarmManager #BackgroundExecution #Dart

@sasansafari_dev1400
👍6