android - সকল - ট্যাগ কাকে বলে




একটি IntentService এবং একটি পরিষেবা মধ্যে পার্থক্য কি? (6)

উদ্দেশ্য সেবা পরিষেবা শিশু

IntentService: আপনি যদি আপনার অ্যাপ্লিকেশন খোলার শুরুতে ছবিগুলির একটি গুচ্ছ ডাউনলোড করতে চান। এটি এক-বারের প্রক্রিয়া এবং সবকিছু ডাউনলোড হয়ে গেলে নিজেরাই এটি পরিষ্কার করতে পারে।

পরিষেবা: এমন একটি পরিষেবা যা আপনার অ্যাপ্লিকেশান এবং ওয়েব API APIগুলির সাথে ব্যাক-শেষের মধ্যে যোগাযোগ করার জন্য ক্রমাগত ব্যবহার করা হবে। এমনকি এটি যদি তার বর্তমান টাস্ক দিয়ে শেষ হয় তবে আপনি এখনও আরও কয়েক মিনিট পরে আরও যোগাযোগের জন্য এটি করতে চান

এই প্রশ্নটি ইতিমধ্যে একটি উত্তর আছে:

আপনি কি একটি IntentService এবং একটি Service মধ্যে পার্থক্য বুঝতে সাহায্য করতে পারেন?


এই বিষয় সম্পর্কে তেজ লাগেভঙ্করের post দেখুন। নীচে পরিষেবা এবং ইন্টেন্ট পরিষেবা এবং অন্যান্য উপাদানগুলির মধ্যে কিছু কী পার্থক্য রয়েছে।

post


সেবা পরিষেবা বাস্তবায়ন একটি বেস বর্গ। অ্যাপ্লিকেশনটি অ্যাপ্লিকেশনের প্রধান থ্রেড যা অ্যাপ্লিকেশান কর্মক্ষমতা কমাতে পারে তা চালায়। এভাবে, IntentService , যা IntentService একটি সরাসরি উপশ্রেণী হয়, জিনিসগুলিকে সহজতর করার জন্য উপলব্ধ।

IntentService ব্যাকগ্রাউন্ডে একটি নির্দিষ্ট কাজ সম্পাদন করতে ব্যবহৃত হয়। একবার সম্পন্ন হলে, IntentService পরিষেবাটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। তার ব্যবহারের জন্য উদাহরণ ইন্টারনেট থেকে একটি নির্দিষ্ট সংস্থান ডাউনলোড করা হবে।

পার্থক্য

  1. Service ক্লাসটি অ্যাপ্লিকেশনের প্রধান থ্রেড ব্যবহার করে, যখন IntentService একজন কর্মী থ্রেড তৈরি করে এবং সেটি চালানোর জন্য থ্রেড ব্যবহার করে।
  2. IntentService এমন একটি সারির সৃষ্টি করে যা onHandleIntent() এ একটি সময়ে একটি অভিপ্রায় পাস করে। সুতরাং, মাল্টি-থ্রেড বাস্তবায়ন সরাসরি Service শ্রেণির দ্বারা তৈরি করা উচিত। Service ক্লাসকে stopSelf() ব্যবহার করে একটি ম্যানুয়াল স্টপ stopSelf() । এদিকে, IntentService স্বয়ংক্রিয়ভাবে কার্যকর হওয়ার IntentService স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়।
  3. IntentService প্রয়োগ করে onBind() যা null ফেরত দেয়। এর মানে হল IntentService সার্ভিসটি ডিফল্টভাবে আবদ্ধ করা যাবে না।
  4. ইন্টেন্ট onHandleIntent() কে onHandleIntent() যা onHandleIntent() এবং onHandleIntent() প্রেরণ করে।

সংক্ষেপে, IntentService ব্যবহার করতে শুধুমাত্র দুটি জিনিস আছে। প্রথমত, কন্সট্রাকটর বাস্তবায়ন। এবং দ্বিতীয়ত, onHandleIntent() প্রয়োগ করতে। অন্যান্য কলব্যাক পদ্ধতিগুলির জন্য, সুপারটিকে বলা দরকার যাতে এটি সঠিকভাবে ট্র্যাক করা যায়।


সেবা: এটি আপনার সিস্টেমে ব্যাকগ্রাউন্ডে রান করে। উদাহরণ স্বরূপ,

  1. আপনি যদি কোন হোটেলে যান এবং আপনি সার্ভারের জন্য একটি স্যুপের জন্য আপনার অর্ডার দেন
  2. সার্ভার আপনার অর্ডার পায় এবং শেফ পাঠায়
  3. আপনি রান্নাঘর মধ্যে স্যুপ তৈরি করা হয় এবং স্যুপ তৈরীর জন্য কি প্রসেস প্রয়োজন হয় তা জানি না
  4. আপনার অর্ডার প্রস্তুত হলে, সার্ভার আপনাকে স্যুপ এনে দেবে।

পটভূমি প্রক্রিয়া: স্যুপ তৈরীর শেফ

ইন্টেন্ট সার্ভিস: - এটি সর্বদা পরিষেবা .. (অর্থাত্) যখন আপনি সার্ভারে একটি সময়ে অনেকগুলি খাদ্য আইটেম অর্ডার করেন তবে সার্ভার ঐ আইটেমগুলিকে একের পর এক সরবরাহ করে এবং একবারে সমস্ত প্রদান করে না।


Service আপনার অ্যাপ্লিকেশনের একই থ্রেডে আসলেই চালিত হয়; যখন আপনি পরিষেবা প্রসারিত করেন, তখন আপনি CPU ব্লকিং ক্রিয়াকলাপগুলি চালানোর জন্য নিজে নিজে নতুন থ্রেডগুলি স্পন করতে হবে।

বনাম

IntentService একটি উপশ্রেণী যা একটি থ্রেডকে ব্যাকগ্রাউন্ড কাজ করতে IntentService (কোনও থ্রেড তৈরি করার প্রয়োজন নেই যা IntentService ব্লকিং ক্রিয়াকলাপগুলি করতে পারে)।


সেবা

  • কোন UI সহ টাস্ক, কিন্তু দীর্ঘ টাস্ক জন্য ব্যবহার করা উচিত নয়। দীর্ঘ কাজের জন্য সেবা মধ্যে থ্রেড ব্যবহার করুন
  • onStartService() দ্বারা onStartService()
  • কোন থ্রেড থেকে ট্রিগার
  • প্রধান থ্রেড রান
  • main(UI ) থ্রেড ব্লক হতে পারে

IntentService

  • যোগাযোগের প্রয়োজন হলে লম্বা কাজটি সাধারণত প্রধান থ্রেডের সাথে যোগাযোগ না করে এটি হ্যান্ডলার বা সম্প্রচার দ্বারা সম্পন্ন হয়
  • অভিপ্রায় মাধ্যমে আমন্ত্রণ
  • প্রধান থ্রেড থেকে উদ্ভূত ( প্রধান থ্রেড এবং কর্মক্ষেত্রে থ্রেড উদ্দীপিত হয় অভিপ্রায় )
  • পৃথক থ্রেড উপর রান
  • আমরা সমান্তরাল কাজটি চালাতে পারি না এবং একাধিক ইন্টেন্ট একই কর্মীর থ্রেডে সারিবদ্ধ হয়।




android-intentservice