موبائل ڈیولپمنٹ میں پس منظر میں عملدرآمد — جوہر، حدود اور کام کے اصول

مصنف: IT Sectr اشاعت: 2026-03-26 مطالعے کا وقت: 9 منٹ

Background Execution ایک ایسا طریقہ کار ہے جو موبائل ایپلیکیشن کوڈ کو اس وقت چلانے کی اجازت دیتا ہے جب ایپلیکیشن پیش منظر میں نہ ہو۔ اس طریقہ کار کے بغیر، سسٹم ایپلیکیشن کو کم سے کم کرنے پر معطل کر دیتا ہے۔ Apple، 2026 کے مطابق، iOS پس منظر کے وقت کو 30 سیکنڈ تک محدود کرتا ہے، جبکہ Android WorkManager اور Foreground Service کے ذریعے زیادہ لچکدار منظرنامے فراہم کرتا ہے۔

اہم نکات

  • Background Execution — ایپلیکیشن کوڈ کا عملدرآمد جب یہ کم سے کم یا غیر فعال ہو۔
  • iOS — سخت حدود: کاموں کے لیے 30 سیکنڈ، سخت Background Modes اور App Refresh۔
  • Android — WorkManager، Foreground Service، Scheduling اور مختلف پابندیوں کے ساتھ Doze موڈ۔
  • توانائی کی کھپت — حدود کی بنیادی وجہ: پس منظر کے عمل ڈیوائس کی بیٹری کی زندگی کو کم کرتے ہیں۔
  • رازداری — Android 8 اور iOS 13 سے، سسٹمز پس منظر کے کام کے لیے واضح اجازت ناموں کی ضرورت کرتے ہیں۔

موبائل ایپلیکیشنز میں پس منظر میں عملدرآمد کیا ہے؟

Background Execution ایک ایپلیکیشن کی صلاحیت ہے کہ صارف کے اسے کم سے کم کرنے یا کسی دوسری ایپلیکیشن پر سوئچ کرنے کے بعد کوڈ چلاتی رہے۔ خصوصی طریقہ کار کے بغیر، موبائل OS پس منظر میں جانے کے چند سیکنڈ کے اندر ایپلیکیشن کو Suspended (معطل) حالت میں ڈال دیتا ہے، فعال ایپلیکیشنز کے لیے CPU اور میموری خالی کرتا ہے۔

پس منظر میں ایپلیکیشن کی حالتیں

موبائل ایپلیکیشن لائف سائیکل کی کئی حالتوں سے گزرتی ہے: Foreground (فعال)، Background (پس منظر میں)، Suspended (معطل) اور Terminated (ختم)۔ Background واحد حالت ہے جس میں ایپلیکیشن بغیر نظر آنے والے انٹرفیس کے کوڈ چلا سکتی ہے۔ iOS اور Android اس حالت میں مدت اور دستیاب آپریشنز کو مختلف طریقے سے بیان کرتے ہیں۔

استعمال کے اہم معاملات

ڈیٹا سنکرونائزیشن، مواد ڈاؤن لوڈ، Push اطلاع کی پروسیسنگ، پس منظر میں جغرافیائی محل وقوع اور آڈیو پلے بیک کے لیے پس منظر میں عملدرآمد ضروری ہے۔ سنکرونائزیشن سب سے عام منظرنامہ ہے: ایپلیکیشن صارف کی شمولیت کے بغیر سرور کو ڈیٹا بھیجتی ہے یا اپ ڈیٹس ڈاؤن لوڈ کرتی ہے۔

  • سنکرونائزیشن — نیٹ ورک کی حالت بدلنے پر ڈیٹا اپ لوڈ اور ڈاؤن لوڈ کرنا۔
  • جغرافیائی محل وقوع — فٹنس ٹریکرز اور نیویگیشن میں مقام کی ٹریکنگ۔
  • میڈیا — پس منظر میں آڈیو اور ویڈیو چلانا (موسیقی، پوڈکاسٹ)۔
  • اطلاعات — Push اور مقامی اطلاعات کی پروسیسنگ۔
  • ڈاؤن لوڈ — پس منظر میں بڑی فائلیں (پوڈکاسٹ، ویڈیو) ڈاؤن لوڈ کرنا۔

موبائل OS پس منظر میں عملدرآمد کو کیوں محدود کرتے ہیں

پس منظر میں عملدرآمد کی حدود تین عوامل کی وجہ سے ہیں: توانائی کی کھپت، ڈیوائس کی کارکردگی اور صارف کی رازداری۔ CPU اور ریڈیو ماڈیولز (Wi-Fi، سیلولر ڈیٹا) سب سے زیادہ توانائی کھپت کرتے ہیں — ہر پس منظر کا عمل بیٹری کی زندگی کو کم کرتا ہے۔

توانائی کی کھپت اور بیٹری کی زندگی

Google کے مطالعے سے پتہ چلتا ہے کہ ہر 5 منٹ میں پس منظر کے کام چلانے والی ایپلیکیشنز ایک دن میں ڈیوائس کی بیٹری کی زندگی کو 20–30% تک کم کر دیتی ہیں۔ یہاں تک کہ ایک گھنٹے کی فریکوئنسی کے ساتھ بہتر کردہ پس منظر کے آپریشنز بھی نمایاں اثر ڈالتے ہیں اگر ایسی دو سے زیادہ ایپلیکیشنز ہوں۔

RAM اور کارکردگی

ہر پس منظر کی ایپلیکیشن RAM لیتی ہے۔ RAM کی کمی پر، سسٹم میموری سے ایپلیکیشنز کو ہٹا دیتا ہے، جس سے صارف کی واپسی پر دوبارہ شروع کرنا پڑتا ہے۔ iOS Jetsam الگورتھم استعمال کرتا ہے — میموری کی حد سے تجاوز کرنے پر پس منظر کے عمل کو زبردستی ختم کرنے کا طریقہ کار۔ Android اسی اصول کے ساتھ LMK (Low Memory Killer) استعمال کرتا ہے۔

صارف کی رازداری

Android 10 اور iOS 13 سے، سسٹم ایپلیکیشنز سے پس منظر کے کام کے مقصد کا اعلان کرنے کا تقاضا کرتا ہے۔ Android نے پس منظر میں Broadcast Receiver شروع کرنے پر پابندیاں لگائی ہیں۔ iOS پروجیکٹ کی Capabilities میں Background Mode بتانے کا تقاضا کرتا ہے۔ صارف ترتیبات میں کسی بھی ایپلیکیشن کے لیے پس منظر میں عملدرآمد بند کر سکتا ہے۔

OSورژنپابندیاثر
Android8.0IMPLICIT_BROADCAST ممنوع67% پس منظر Broadcast خراب
Android9.0Doze بہترنیٹ ورک کالز محدود
Android12+Foreground Service محدودپس منظر سے لانچ ممنوع
iOS7+Background App Refreshمتواتر اپ ڈیٹ ونڈوز
iOS13+BGTaskSchedulerعملدرآمد کے بجائے شیڈولنگ

Android پر پس منظر میں عملدرآمد: WorkManager اور Foreground Service

Android پس منظر میں عملدرآمد کے لیے کئی طریقہ کار فراہم کرتا ہے، ہر ایک کام کے مختلف زمرے کو حل کرتا ہے۔ WorkManager مؤخر اور متواتر کاموں کے لیے تجویز کردہ API ہے۔ Foreground Service نظر آنے والی اطلاع کے ساتھ فوری عملدرآمد کے لیے ہے۔ JobScheduler WorkManager کا نچلی سطح کا متبادل ہے۔

WorkManager — عالمگیر حل

WorkManager Android Jetpack کا حصہ ہے، جو ڈیوائس ریبوٹ کے بعد بھی تکمیل کی ضمانت کے ساتھ پس منظر کے کاموں کا عملدرآمد فراہم کرتا ہے۔ API نیٹ ورک کی حالت، بیٹری کی سطح اور Doze موڈ کو مدنظر رکھتے ہوئے بہترین عملدرآمد کا وقت منتخب کرتا ہے۔ WorkManager API 14+ کے ساتھ مطابقت رکھتا ہے اور متروک AlarmManager اور JobScheduler کی جگہ لیتا ہے۔

Foreground Service — طویل آپریشنز کے لیے

جب ایپلیکیشن کو صارف کو نظر آنے والا کام انجام دینے کی ضرورت ہو (موسیقی چلانا، جغرافیائی محل وقوع ریکارڈ کرنا)، Foreground Service استعمال کیا جاتا ہے۔ سروس اسٹیٹس بار میں مستقل اطلاع دکھاتی ہے اور اس کی ترجیح زیادہ ہوتی ہے — سسٹم کام مکمل ہونے تک اسے ختم نہیں کرے گا۔ Android 13 سے، POST_NOTIFICATIONS کی اجازت درکار ہے۔

Doze Mode اور بیٹری کی اصلاح

Android 6.0 سے، ڈیوائس بیکار ہونے پر Doze موڈ میں داخل ہوتی ہے۔ اس موڈ میں، نیٹ ورک آپریشنز، سنکرونائزیشن اور JobScheduler مؤخر کر دیے جاتے ہیں۔ WorkManager خود بخود Doze کے مطابق ڈھل جاتا ہے — کام اگلی Maintenance Window کے دوران انجام پاتے ہیں جب ڈیوائس دیکھ بھال کے لیے جاگتی ہے۔

iOS پر پس منظر میں عملدرآمد: Background Tasks اور App Refresh

iOS پس منظر میں عملدرآمد کے لیے زیادہ سخت طریقہ کار اپناتا ہے۔ Background App Refresh متواتر ڈیٹا اپ ڈیٹ کے لیے بنیادی طریقہ کار ہے۔ BGTaskScheduler سسٹم کی حالت کی بنیاد پر کاموں کو شیڈول کرنے کے لیے API ہے۔ طویل آپریشنز کے لیے Background Modes دستیاب ہیں: audio، location، voip، fetch اور processing۔

Background App Refresh

Background App Refresh ایپلیکیشن کو ڈیٹا سنکرونائز کرنے کے لیے ہر 15–30 منٹ میں جاگنے کی اجازت دیتا ہے۔ جاگنے کا وقت صارف کے رویے پر منحصر ہے — سسٹم تجزیہ کرتا ہے کہ وہ ایپلیکیشن کتنی بار کھولتے ہیں۔ صارف ترتیبات — جنرل — Background App Refresh میں انفرادی ایپلیکیشنز کے لیے یہ فیچر بند کر سکتے ہیں۔

BGTaskScheduler — جدید طریقہ

iOS 13 سے، BGTaskScheduler نے متروک performFetch اور beginBackgroundTask کی جگہ لے لی ہے۔ ایپلیکیشن ایک شناخت کنندہ اور کم سے کم وقفہ کے ساتھ کام رجسٹر کرتی ہے، اور سسٹم بہترین عملدرآمد کا وقت طے کرتا ہے۔ کام دو قسموں میں تقسیم ہیں: BGProcessingTask (طویل، 10+ منٹ) اور BGAppRefreshTask (مختصر، 30 سیکنڈ تک)۔

عملدرآمد کے وقت کی حدود

iOS پس منظر کے کاموں کے عملدرآمد کے لیے محدود وقت مختص کرتا ہے — BGAppRefreshTask کے لیے 30 سیکنڈ تک اور BGProcessingTask کے لیے 10 منٹ تک۔ حد سے تجاوز کرنے پر، سسٹم زبردستی کام ختم کر دیتا ہے۔ ڈیولپر کو درمیانی نتائج محفوظ کرنے کے لیے expiration handler کو کال کرنا چاہیے۔

کوڈ کی مثالیں: Android WorkManager

آئیے WorkManager استعمال کرتے ہوئے Android پر پس منظر میں عملدرآمد کے عملی نفاذ کو دیکھتے ہیں۔ نیٹ ورک کی حالت سے آگاہی کے ساتھ ہر 8 گھنٹے میں ڈیٹا سنکرونائزیشن کی مثال۔ WorkManager ڈیوائس ریبوٹ کے بعد بھی کام کے عملدرآمد کی ضمانت دیتا ہے۔

kotlin
class SyncWorker(context: Context, params: WorkerParameters) : Worker(context, params) {
    override fun doWork(): Result {
        return try {
            syncDataToServer()
            Log.d("Sync", "ڈیٹا سنکرونائز ہو گیا")
            Result.success()
        } catch (e: Exception) {
            Result.retry()
        }
    }
}

// ہر 8 گھنٹے میں متواتر کام چلائیں
val constraints = Constraints.Builder()
    .setRequiredNetworkType(NetworkType.CONNECTED)
    .setRequiresCharging(false)
    .build()

val syncRequest = PeriodicWorkRequestBuilder<SyncWorker>(
    8, TimeUnit.HOURS
).setConstraints(constraints).build()

WorkManager.getInstance(context).enqueue(syncRequest)

اطلاع کے ساتھ Foreground Service

صارف کو نظر آنے والے طویل آپریشنز کے لیے، Foreground Service استعمال کریں۔ اطلاع میں پیش رفت کے ساتھ فائل ڈاؤن لوڈ کی مثال۔ سروس ایک اطلاع کے ساتھ startForeground() کال کرتی ہے جسے ہٹایا نہیں جا سکتا۔ ڈاؤن لوڈ مکمل ہونے پر — stopForeground(STOP_FOREGROUND_REMOVE)۔

kotlin
class DownloadService : Service() {
    override fun onStartCommand(intent: Intent?, flags: Int, id: Int): Int {
        startForeground(NOTIFICATION_ID, createNotification())
        downloadFile()
        stopForeground(STOP_FOREGROUND_REMOVE)
        stopSelf()
        return START_NOT_STICKY
    }
    private fun createNotification(): Notification {
        return NotificationCompat.Builder(this, CHANNEL_ID)
            .setContentTitle("فائل ڈاؤن لوڈ کریں")
            .setSmallIcon(android.R.drawable.ic_download)
            .build()
    }
}

کوڈ کی مثالیں: iOS BGTaskScheduler

iOS پر، پس منظر میں عملدرآمد BGTaskScheduler کے ذریعے ترتیب دیا جاتا ہے۔ مواد کی اپ ڈیٹ کے کام کو رجسٹر اور انجام دینے کی مثال۔ ایپلیکیشن کو Info.plist میں کام کا شناخت کنندہ رجسٹر کرنا ہوگا اور submit کال کرنا ہوگا جب کام شیڈول کیا جانا چاہیے۔

swift
import BackgroundTasks

func registerBackgroundTask() {
    BGTaskScheduler.shared.register(
        forTaskWithIdentifier: "com.app.refresh",
        using: nil
    ) { task in
        self.handleAppRefresh(task: task as! BGAppRefreshTask)
    }
}

func scheduleAppRefresh() {
    let request = BGAppRefreshTaskRequest(
        identifier: "com.app.refresh"
    )
    request.earliestBeginDate = Date(timeIntervalSinceNow: 15 * 60)
    try? BGTaskScheduler.shared.submit(request)
}

func handleAppRefresh(task: BGAppRefreshTask) {
    scheduleAppRefresh()
    task.expirationHandler = {
        // درمیانی ڈیٹا محفوظ کریں
        cacheCurrentState()
    }
    fetchLatestData {
        task.setTaskCompleted(success: true)
    }
}

Background Processing Task

طویل آپریشنز (کیشے صفائی، ڈیٹا پروسیسنگ) کے لیے، BGProcessingTask استعمال کریں۔ سسٹم عملدرآمد کے لیے 10 منٹ تک دیتا ہے۔ صرف اس وقت چلتا ہے جب ڈیوائس چارج ہو رہی ہو اور Wi-Fi سے منسلک ہو۔ Info.plist میں علیحدہ شناخت کنندہ اور register(forTaskWithIdentifier:) کے ذریعے رجسٹریشن درکار ہے۔

swift
func scheduleProcessing() {
    let request = BGProcessingTaskRequest(
        identifier: "com.app.cleanup"
    )
    request.requiresExternalPower = true
    request.requiresNetworkConnectivity = true
    request.earliestBeginDate = Date(timeIntervalSinceNow: 24 * 60 * 60)
    try? BGTaskScheduler.shared.submit(request)
}

Android اور iOS طریقوں کا موازنہ

Android اور iOS پس منظر میں عملدرآمد کے فلسفے میں بنیادی طور پر مختلف ہیں۔ Android زیادہ کنٹرول کے ساتھ لچکدار اوزار فراہم کرتا ہے لیکن ڈیولپر سے صحیح API منتخب کرنے کا تقاضا کرتا ہے۔ iOS صلاحیتوں کو محدود کرتا ہے لیکن صارف کے لیے مستحکم کارکردگی اور بیٹری کی زندگی کی ضمانت دیتا ہے۔

معیارAndroidiOS
تجویز کردہ APIWorkManagerBGTaskScheduler
زیادہ سے زیادہ کام کا وقتلا محدود (Foreground Service)30 سیکنڈ / 10 منٹ (processing)
متواتر کامہاں، PeriodicWorkRequest کے ذریعےہاں، BGAppRefreshTask کے ذریعے
عملدرآمد کی ضمانتہاں، ریبوٹ کے بعد بھینہیں — سسٹم فیصلہ کرتا ہے کب
پس منظر میں نیٹ ورک تک رسائیDoze موڈ سے محدودbackground config کے ساتھ URLSession کے ذریعے
پس منظر میں جغرافیائی محل وقوعForeground Service + اجازتBackground Mode location + NSLocation
پس منظر میں آڈیومیڈیا اطلاع کے ساتھ Foreground ServiceBackground Mode audio + AVAudioSession

Android WorkManager کب منتخب کریں

WorkManager ان کاموں کے لیے بہترین ہے جو ایپلیکیشن کی حالت سے قطع نظر مکمل ہونے چاہئیں: ڈیٹا سنکرونائزیشن، تجزیات بھیجنا، قطار پروسیسنگ۔ API ضمانت دیتا ہے ڈیوائس بند ہونے کے بعد بھی عملدرآمد — کام بوٹ کے بعد دوبارہ شیڈول ہو جاتا ہے۔

iOS BGTaskScheduler کب منتخب کریں

BGTaskScheduler ان کاموں کے لیے موزوں ہے جو سسٹم کسی بھی آسان وقت پر انجام دے سکتا ہے: نیا مواد ڈاؤن لوڈ کرنا، ویجیٹ اپ ڈیٹ کرنا، کیشے صاف کرنا۔ فوری کاموں کے لیے موزوں نہیں — اگر ڈیوائس Doze میں ہو یا بیٹری کم ہو تو سسٹم کام میں تاخیر کرتا ہے۔

اکثر پوچھے گئے سوالات

Background Execution اور Background Modes میں کیا فرق ہے؟

Background Execution ایک عمومی تصور ہے جو پس منظر میں چلنے والے کسی بھی کوڈ کو بیان کرتا ہے۔ Background Modes ایک مخصوص iOS طریقہ کار ہے جو ایپلیکیشن کو پس منظر میں مخصوص اقسام کے آپریشنز (آڈیو، جغرافیائی محل وقوع، VoIP، fetch) کرنے کی اجازت دیتا ہے۔ Android Foreground Service کی اقسام کے ذریعے اسی طرح کا طریقہ استعمال کرتا ہے۔

میری ایپلیکیشن پس منظر میں 30 سیکنڈ بعد کیوں ختم ہو جاتی ہے؟

iOS پر، یہ BGAppRefreshTask کے لیے معیاری حد ہے۔ حد پہنچنے پر سسٹم زبردستی کام ختم کر دیتا ہے۔ Android پر، ایسی ہی صورت حال اس وقت ہوتی ہے جب ایپلیکیشن WorkManager یا Foreground Service استعمال نہ کرے — ایک عام Service پس منظر میں جانے کے بعد سسٹم کے ذریعے ختم کر دی جاتی ہے۔

دونوں پلیٹ فارمز پر کام کی تکمیل کو کیسے یقینی بنایا جائے؟

Android پر، WorkManager استعمال کریں — یہ ریبوٹ کے بعد بھی عملدرآمد کی ضمانت دیتا ہے۔ iOS پر، عملدرآمد کی ضمانت نہیں دی جا سکتی — سسٹم فیصلہ کرتا ہے کہ کام کب چلانا ہے۔ عملدرآمد کو یقینی بنانے کا واحد طریقہ صارف کو نظر آنے والے اشارے کے ساتھ Background Modes (audio, location) استعمال کرنا ہے۔

کیسے چیک کریں کہ پس منظر میں عملدرآمد کی اجازت ہے؟

iOS پر، UIApplication.shared.backgroundRefreshStatus کال کریں — حالت .available، .denied یا .restricted۔ Android پر، بیٹری کی اصلاح سے استثنیٰ چیک کرنے کے لیے PowerManager.isIgnoringBatteryOptimizations() استعمال کریں۔ WorkManager کے لیے چیک کی ضرورت نہیں — API خود سسٹم کی پابندیوں کو ہینڈل کرتا ہے۔

پس منظر میں عملدرآمد کے متبادل کیا ہیں؟

Push اطلاعات پس منظر کے کوڈ کے بغیر اعمال کو متحرک کرنے کا بنیادی طریقہ کار ہیں۔ iOS پر، VoIP کے لیے PushKit اور ڈیٹا اپ ڈیٹ کے لیے Silent Push دستیاب ہیں۔ Android پر — High Priority FCM اور Notification Trampoline۔ Foreground Service کے ذریعے WebSockets ریئل ٹائم ایپلیکیشنز کے لیے ایک متبادل ہے۔

خلاصہ

  • Background Execution — ایپلیکیشن کے کم سے کم ہونے پر کوڈ چلانے کا طریقہ کار، سنکرونائزیشن، ڈاؤن لوڈ اور اطلاعات کے لیے اہم۔
  • Android WorkManager (ضمانت شدہ عملدرآمد)، Foreground Service (طویل نظر آنے والے کام) اور Doze موڈ کی پابندیاں فراہم کرتا ہے۔
  • iOS BGTaskScheduler (شیڈولنگ)، Background App Refresh (متواتر اپ ڈیٹس) اور میڈیا اور جغرافیائی محل وقوع کے لیے Background Modes استعمال کرتا ہے۔
  • توانائی کی کھپت — حدود کی بنیادی وجہ: بہتر نہ کی گئی پس منظر کے عمل بیٹری کی زندگی کو 20–30% کم کرتے ہیں۔
  • رازداری — دونوں پلیٹ فارمز کو واضح اجازت ناموں (Android POST_NOTIFICATIONS، iOS Background Modes) اور صارف کی اطلاع کی ضرورت ہوتی ہے۔
  • WorkManager واحد API ہے جو ڈیوائس ریبوٹ کے بعد عملدرآمد کی ضمانت دیتا ہے؛ BGTaskScheduler سسٹم کے فیصلوں پر انحصار کرتا ہے۔
  • اسٹیٹس بار میں صارف کو نظر آنے والے طویل آپریشنز کے لیے Android پر Foreground Service اور iOS پر Background Modes استعمال کریں۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں