মোবাইল ডেভেলপমেন্টে ব্যাকগ্রাউন্ড এক্সিকিউশন — সারমর্ম, সীমাবদ্ধতা এবং কাজের নীতি

লেখক: 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 mode বিভিন্ন প্রতিবন্ধকতা সহ।
  • শক্তি খরচ — সীমাবদ্ধতার প্রধান কারণ: ব্যাকগ্রাউন্ড প্রক্রিয়াগুলি ডিভাইসের ব্যাটারি আয়ু কমিয়ে দেয়।
  • গোপনীয়তা — 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-এ Background Execution: 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 Execution: 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 মিনিটে জাগতে দেয়। জাগ্রত হওয়ার সময় ব্যবহারকারীর আচরণের উপর নির্ভর করে — সিস্টেম বিশ্লেষণ করে যে তারা কতবার অ্যাপ্লিকেশন খোলে। ব্যবহারকারী Settings — General — 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 mode সীমাবদ্ধতা প্রদান করে।
  • 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 অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন