যেহেতু অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি একটি জেভিএম (ডালভিক ভিএম) এ চালিত হয় যা মূলত একটি ভার্চুয়াল প্রসেসর, এবং প্রতিটি ভার্চুয়াল নির্দেশকে অন্তর্নিহিত চিপসেটের নেটিভ নির্দেশাবলীতে ম্যাপ করতে হয়, তাই এই ম্যাপিংয়ের ওভারহেডের কারণে এই ম্যাপিংটির ফলে আরও বিদ্যুৎ খরচ হয়?
এই প্রশ্নটি জাভাতে প্রসারিত হতে পারে এবং "কী জাভা অ্যাপ্লিকেশনগুলি আরও শক্তি ব্যবহার করে?" হিসাবে চিহ্নিত করা যেতে পারে। অন্যান্য প্ল্যাটফর্ম / ফোনের তুলনায় অ্যান্ড্রয়েড ফোনগুলিতে এই জাতীয় উদ্বেগজনক ব্যাটারির জীবন কী?
সম্পাদনা : উত্তরের উপর ভিত্তি করে আমি কয়েকটি বিষয় পরিষ্কার করেছি কারণ আমি ভুলভাবে জেভিএম এবং ডালভিকের বিনিময়ে কথা বলেছি। এই বিটটিতে আমি জাভা সম্পর্কে কেবল এটি জিজ্ঞাসা করার জন্য বলছি যে এটি আরও বেশি শক্তি ব্যবহার করে এবং যদি হ্যাঁ, তবে কি এই ধারণাটি অ্যান্ড্রয়েডেও প্রয়োগ হয় এবং এর ফলে ব্যাটারির আয়ু হ্রাস পায়?
প্রসঙ্গ : উইকিপিডিয়া থেকে উদ্ধৃত:
- জাভা বাইটকোড সি কোডের জন্য অ্যাসেম্বলি ভাষার অনুরূপ।
- সংকলকের দৃষ্টিকোণ থেকে, জাভা ভার্চুয়াল মেশিন হ'ল একটি নির্দেশিকা সেট সহ অন্য একটি প্রসেসর, জাভা বাইটকোড, যার জন্য কোড তৈরি করা যেতে পারে।
- জেভিএমের একটি স্ট্যাক আর্কিটেকচার রয়েছে। ডালভিক একটি প্রক্রিয়া ভার্চুয়াল মেশিন যা জেভিএমের মতো একই ধরণের ভার্চুয়ালাইজেশন নয় এবং এটিতে একটি রেজিস্টার আর্কিটেকচার রয়েছে।
যেহেতু জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ বাইকোডে সংঘটিত হয়েছে (সমাবেশ-এর মতো) এবং এটি ভার্চুয়াল প্রসেসরের উপর চলে তাই এটি সত্যিকারের সফ্টওয়্যার কোড বহনযোগ্যতার জন্য সরবরাহ করে। এছাড়াও, যেহেতু লিনাক্সের জন্য একটি জেভিএম রয়েছে এবং লিনাক্সগুলি ওপেন হার্ডওয়্যারে পোর্ট করা হয়েছে, সংমিশ্রণটি পুরো স্ট্যাক জুড়ে সত্যিকারের অ্যাপ্লিকেশন বহনযোগ্যতা সরবরাহ করতে পারে।
শক্তি : প্রশ্নটি মূলত এ পর্যন্ত ফোটে - আপনার সফ্টওয়্যার কোড বা অ্যাপ্লিকেশনটির একই কার্যকারিতার জন্য, আপনার সিপিইউ ক্লক চক্রের কত শতাংশ রান সময় পরিবেশকে দায়ী করা হয়। এটি আধুনিক জেভিএম-এর জাস্ট-ইন-টাইম সংকলন পরিবেশের সাথে যেখানে বাইটোকোডটি যদি অন্তর্নিহিত চিপসেটের স্থানীয় নির্দেশের সাথে সংকলিত হয়, তবে রানটাইম কেবল জিট সংকলনের সময় সক্রিয় থাকতে হবে। সুতরাং রান-টাইম পরিবেশের জন্য আরও কত সিপিইউ ক্লকচক্র ব্যবহৃত হয় যার ফলস্বরূপ বিদ্যুৎ খরচ ওভারহেডের প্রত্যাশিত। আমি কেবল বিদ্যুত ব্যবহারের দিকটিতে আগ্রহী, এবং স্থিতিযুক্ত টাইপড এবং বিল্ট ভাষার সাথে তুলনা করে তুলনামূলক পারফরম্যান্স দিই না এবং জাভার সুবিধাগুলি বুঝতে পারি। সাব-প্রশ্ন যা সম্পর্কিত হতে পারে:
- জাভা রান টাইম কি এর কার্যকারিতাটির জন্য লাইব্যাক ব্যবহার করে?
- এই বিদ্যুৎ ব্যবহার সম্পর্কিত পয়েন্টগুলির কোনওটি কি ডালভিক ভিএম এবং অ্যান্ড্রয়েডে অনুবাদ করে?
- স্ক্রিন এবং ওয়্যারলেস চিপসেট সম্পর্কে কথা না বলে অ্যান্ড্রয়েডের দুর্বল ব্যাটারি খরচ সাধারণ করার পরিবর্তে - আইফোন 5-এ কীভাবে 1440 এমএএইচ ব্যাটারি রয়েছে যা আধুনিক নেক্সাস ফোনের তুলনায় ক্ষুদ্র। চিন্তার এই পুরো ট্রেনটি (জাভা, ভার্চুয়াল প্রসেসর, নির্দেশ ম্যাপিং, অ্যান্ড্রয়েড) উত্থাপিত হয়েছিল কারণ একটি আইফোন-অনুগত বন্ধু দাবি করেছিল যে এটি আইফোনটি আমার (দুর্দান্ত) নেক্সাসের চেয়ে ভাল ব্যাটারির আয়ু হওয়ার কারণ হতে পারে।
যাই হোক না কেন, নীচের উত্তরগুলির জন্য ধন্যবাদ।