Table of Contents
- Android Architecture in Hindi – एंड्रॉइड आर्किटेक्चर क्या है?
- Components of Android Architecture in Hindi
- Working of Android Architecture in Hindi
- Features of Android Architecture in Hindi – एंड्रॉइड आर्किटेक्चर की विशेषताएं
- Advantages of Android Architecture in Hindi – एंड्रॉइड आर्किटेक्चर के फायदे
- Disadvantages of Android Architecture in Hindi – एंड्रॉइड आर्किटेक्चर के नुकसान
- Difference Between Dalvik and ART in Hindi – Dalvik और ART में अंतर
- FAQs
- Layered Structure: पूरा system Layers में बंटा है और हर Layer अपने काम पर ही ध्यान देती है, इसलिए एक Layer में बदलाव करने पर बाकी को कम से कम छेड़ना पड़ता है।
- Open Source: Android का source code AOSP के ज़रिए सबके लिए उपलब्ध है और कोई भी कंपनी इसे अपने हिसाब से बदल सकती है।
- Linux-Based Core: बुनियाद Linux Kernel पर टिकी है, इसलिए Multitasking और Drivers जैसी सुविधाएं सीधे Linux से मिलती हैं।
- Application Sandbox: हर app का अलग process और अलग Linux user ID होता है। Camera या Location जैसे sensitive हिस्सों के लिए app को यूज़र से Permission माननी पड़ती है, और वह दूसरे app का data सीधे नहीं पढ़ सकता।
- Hardware Independence: HAL की वजह से ऊपर की Layers को hardware के ब्योरे की जानकारी नहीं रखनी पड़ती।
- Java and Kotlin Support: Developer Java या Kotlin में code लिखते हैं, जो DEX bytecode में बदलकर ART पर चलता है।
- Wide Device Support: एक ही Android platform के लिए बनाया गया app कई तरह के फोन और tablets पर चल जाता है।
- Easy App Development: Camera, Location या Database जैसी सुविधाओं के लिए बनी-बनाई APIs मिलती हैं, इसलिए developer को low-level code खुद नहीं लिखना पड़ता।
- Stable Performance: एक app अटक जाए या crash हो जाए, तो बाकी apps और फोन चलते रहते हैं।
- Customization Freedom: कंपनियां अपना UI और features जोड़ सकती हैं, जैसे Samsung का One UI।
- Free to Use: AOSP का इस्तेमाल manufacturers बिना license फीस के कर सकते हैं, जिससे फोन का Cost कम रखने में मदद मिलती है। Google Play जैसी services की शर्तें अलग होती हैं, पर core Android free है।
- Large Developer Community: Documentation, tutorials और forums आसानी से मिल जाते हैं, इसलिए किसी problem का हल जल्दी निकल आता है।
- Fragmentation: बाज़ार में कई Android versions और हज़ारों तरह के devices एक साथ चलते हैं। Updates हर फोन तक एक साथ नहीं पहुंचते और developer को कई devices पर testing करनी पड़ती है।
- High Resource Usage: हर app अपने अलग process में चलता है और background services भी चलती रहती हैं, इसलिए Memory और Battery की खपत ज्यादा हो सकती है।
- Security Risk: Play Store के बाहर से install किए गए apps में Malware का Risk रहता है, और open ecosystem होने की वजह से ऐसे apps की संख्या भी ज्यादा है।
- Complex Debugging: Layers ज्यादा होने से किसी गड़बड़ी की जड़ तक पहुंचना, खासकर beginners के लिए, मुश्किल हो सकता है।
- Manufacturer Customization Issues: हर कंपनी का अपना UI होने से एक ही app अलग फोन पर थोड़ा अलग दिख या चल सकता है। कई फोन में बेकार के pre-installed apps (bloatware) भी मिलते हैं।
Android Architecture in Hindi – एंड्रॉइड आर्किटेक्चर क्या है?
▶
Mobile application development मैं Android Architecture एक multi-layered framework है, जो विभिन्न components को एक साथ लाकर एक powerful और flexible सिस्टम बनाता है।
यह architecture इस तरह से design किया गया है कि यह security, performance और scalability को ध्यान में रखते हुए काम कर सके।
किसी भी operating system की सफलता उसके architecture पर निर्भर करती है, और यही बात Android के साथ भी लागू होती है।
यह architecture सुनिश्चित करता है कि सिस्टम fast, secure और scalable हो, जिससे लाखों users को seamless experience मिले।
इसके अलावा, यह developers को एक structured environment प्रदान करता है, जिससे वे high-performance applications बना सकें।
Components of Android Architecture in Hindi
Endless Horse – Think You Can Find the End? Play The Game1. Linux Kernel
Linux Kernel, Android Operating System की सबसे नींव वाली layer होती है, जिसे हम core layer भी कह सकते हैं। यह hardware और software के बीच communication का काम करता है और system resources को manage करता है।
2. Hardware Abstraction Layer (HAL)
HAL (Hardware Abstraction Layer) एक तरह से bridge की तरह काम करता है, जो Android System और hardware components के बीच connection स्थापित करता है। यह software को hardware के साथ communicate करने में मदद करता है, बिना यह जाने कि underlying hardware कैसा है।
3. Native Libraries
Android में कई important functions को handle करने के लिए Native Libraries का उपयोग किया जाता है। ये libraries ज्यादातर C और C++ में लिखी जाती हैं और performance को optimize करने में मदद करती हैं।
4. Android Runtime (ART)
Android Runtime (ART) Android की एक बहुत महत्वपूर्ण component है, जो applications को execute करने के लिए responsible होता है। यह Java code को machine-readable code में बदलकर execution को fast और efficient बनाता है।
5. Application Framework
Application Framework वह layer है, जहां developers को APIs का एक structured सेट दिया जाता है, जिससे वे अपनी applications को develop कर सकते हैं। यह high-level system services प्रदान करता है, जो apps को functionality और features जोड़ने में मदद करता है।
6. Applications (Apps)
Android Architecture की सबसे ऊपरी layer वह होती है, जिसे हम Application Layer कहते हैं। इसमें वे सभी apps शामिल होते हैं, जिन्हें user directly इस्तेमाल करता है, जैसे कि WhatsApp, Facebook, और Gmail। यह layer Android Framework पर आधारित होती है और user experience को define करती है।
Working of Android Architecture in Hindi
नीचे हम Android Architecture की working को step-by-step समझेंगे।
1. Application Layer से Interaction
जब कोई user अपने phone में कोई app open करता है, तो सबसे पहले वह application layer के साथ interact करता है। यह वही layer होती है, जहां WhatsApp, Facebook, Instagram जैसी apps होती हैं, जिन्हें हम daily इस्तेमाल करते हैं।
2. Application Framework का Role
जैसे ही कोई app open होती है, Application Framework activate हो जाता है और app के लिए जरूरी services provide करता है। यह framework कई built-in services को manage करता है, जैसे कि Activity Manager, Notification Manager और Resource Manager।
3. Android Runtime (ART) और Dalvik Virtual Machine (DVM)
जब भी कोई app launch होती है, तो उसका code Android Runtime (ART) में execute होता है। पहले Dalvik Virtual Machine (DVM) का उपयोग किया जाता था, लेकिन अब ART का इस्तेमाल किया जाता है, जो app performance को boost करता है।
4. Native Libraries का उपयोग
जब कोई app किसी complex task को execute करना चाहती है, जैसे कि graphics rendering या database management, तो वह Native Libraries का उपयोग करती है। OpenGL ES, SQLite और WebKit जैसी libraries इस process में अहम भूमिका निभाती हैं।
5. Hardware Abstraction Layer (HAL) की भूमिका
अगर कोई app hardware device के साथ interact करना चाहती है, जैसे कि कैमरा खोलना या Bluetooth को enable करना, तो वह HAL का उपयोग करती है। HAL (Hardware Abstraction Layer) hardware और software के बीच एक bridge की तरह काम करता है, जिससे system सही से hardware को control कर सके।
6. Linux Kernel का Execution
जब कोई app को execute किया जाता है, तो अंत में Linux Kernel उसे पूरी तरह से control करता है। यह Kernel device drivers के जरिए hardware को manage करता है और system resources को allocate करता है।
Features of Android Architecture in Hindi – एंड्रॉइड आर्किटेक्चर की विशेषताएं
ये features Architecture की बनावट के बारे में हैं। इससे developer और यूज़र को क्या फायदा मिलता है, यह आगे Advantages में अलग से बताया गया है:
Advantages of Android Architecture in Hindi – एंड्रॉइड आर्किटेक्चर के फायदे
ये फायदे एक developer और आम यूज़र को रोज़मर्रा के इस्तेमाल में महसूस होते हैं:
Disadvantages of Android Architecture in Hindi – एंड्रॉइड आर्किटेक्चर के नुकसान
Difference Between Dalvik and ART in Hindi – Dalvik और ART में अंतर
Android Runtime के विषय में Dalvik (डाल्विक) और ART का अंतर Exam और Interview, दोनों में खूब पूछा जाता है:
| Basis | Dalvik | ART |
|---|---|---|
| Full Form | Dalvik Virtual Machine | Android Runtime |
| Compilation | JIT (Just-In-Time) होता है, यानी code app चलते समय compile होता है | AOT (Ahead-Of-Time) होता है, यानी code पहले ही compile हो जाता है। Android 7.0 से JIT और profile-guided compilation भी जुड़ गए |
| App Launch Speed | अपेक्षाकृत धीमी | अपेक्षाकृत तेज़ |
| Install Time and Storage | Install जल्दी होता है और storage कम लगता है | शुरुआती versions में install में ज्यादा समय और storage लगता था |
| Battery Usage | Runtime पर compile करने से CPU ज्यादा इस्तेमाल होता है | Runtime का compile वाला काम कम होने से Battery की बचत होती है |
| Garbage Collection | Pauses ज्यादा होते हैं | बेहतर Garbage Collection, जिसमें pauses कम होते हैं |
| Current Status | Android 4.4 तक default रही और बाद में हट गई | Android 5.0 से default runtime है और Dalvik की जगह ले चुकी है |
Conclusion – निष्कर्ष
Android Architecture एक Layered design है, जिसमें System Apps, Java API Framework, Native Libraries, Android Runtime, HAL और Linux Kernel मिलकर apps को hardware तक पहुंचाते हैं। इसकी विशेषताएं, जैसे open source होना, Application Sandbox और Hardware Independence, इसे हज़ारों तरह के devices के लिए उपयुक्त बनाती हैं। इसके फायदे developer की सुविधा और stable performance में दिखते हैं, जबकि Fragmentation और ज्यादा Resource Usage इसकी मुख्य सीमाएं हैं। Dalvik की जगह ART के आने से apps पहले से तेज़ और Battery के लिहाज़ से बेहतर चलने लगे हैं।
