स्मृति आवंटित करने में विफल: 8


369

आज से, जब मैंने एक एंड्रॉइड प्लेटफॉर्म पर नेटबीन्स में एक ऐप चलाने की कोशिश की, तो यह मुझे दिखाता है कि:

स्मृति आवंटित करने में विफल: 8

इस एप्लिकेशन ने रनटाइम से असामान्य तरीके से इसे समाप्त करने का अनुरोध किया है। अधिक जानकारी के लिए कृपया आवेदन की सहायता टीम से संपर्क करें।

और एमुलेटर शुरू नहीं करना चाहता।

यह पहली बार है जब मैंने इसे देखा है, और इसके लिए google के पास कोई asnwers नहीं है, मैंने NetBeans 6.9.1 और 7.0.1 के 2 संस्करणों के साथ भी कोशिश की, अभी भी वही त्रुटि है।


3
बस आप उत्सुक हैं कि आप नेटबीन्स बनाम ग्रहण का उपयोग क्यों कर रहे हैं। मैं अन्य चीजों (अर्थात् php) के लिए नेटबीन्स का उपयोग करता हूं, लेकिन एंड्रॉइड सामान के लिए ग्रहण का उपयोग करना आसान है। आपकी राय में ग्रहण के क्या लाभ हैं?
SBerg413

3
मैंने पहले कभी ग्रहण का उपयोग नहीं किया था, लेकिन मुझे नहीं पता कि मैं इसे क्यों नफरत करता हूं, इसका कारण, यह GUI बनाम नेटबीन्स में भी जटिल है, लेकिन फिलहाल मैं इसे डाउनलोड कर रहा हूं, अगर कोशिश करता हूं कि समस्या गायब हो जाए, तो मैं बनाऊंगा इसमें केवल एंड्रॉइड सामान है।
डेनेसेस

47
वाह, वह टिप्पणी अल्पविराम हत्याकांड थी। वैसे भी, सुनिश्चित करें कि आपका AVD उचित मात्रा में रैम का उपयोग कर रहा है (यानी, चलाने के लिए पर्याप्त है लेकिन आपके कंप्यूटर से अधिक नहीं संभाल सकता है)। यह तब सेट किया जाता है जब आप वर्चुअल डिवाइस बनाते हैं।
ग्लेनडॉन ट्रिंगरिंगर

2
केवल संदर्भ के लिए, मेरे पास 16gb वाला एक कोर i7 है, मेरे AVD पर अधिकतम रूप से राम निकला है और वे सभी दुर्भाग्य से हैं: /
Jack

1
मेरे पास एक विंडोज 8 64 बिट मशीन है जो एक इंटेल कोर i7 प्रोसेसर पर चल रही है। मुझे इस AVD (Nexus 7) के लिए रैम सेटिंग्स को 512mb में बदलना था ताकि इसे चलाया जा सके।
इगोरगानापोलस्की

जवाबों:


373

मैं यह समझ गया। समस्या यह थी कि राम की मात्रा में मैंने वर्चुअल मशीन के लिए निर्दिष्ट किया था, और यह 1024 एमबी था, अब मेरे पास 512 एमबी है और यह ठीक है, अब मुझे यह खोजने की आवश्यकता है कि राम की इस राशि को कैसे सुधारें, 512 इतना नहीं है, और मशीन थोड़ी सी खराब है।


20
मेरे पास इसके साथ एक ही मुद्दा है। मेरी मशीन पर 8GB RAM है, जिसमें 6GB मुफ्त में मिलती है जबकि Android एमुलेटर बताता है कि यह 1GB आवंटित नहीं कर सकता है?
स्ट्रोज़ीकोव्स्की

5
मेरे पास 8GB का RAM है, लेकिन SDK मुझसे कहता है कि मैं इसे 512 से अधिक उपयोग नहीं कर सकता हूँ :)
डेनेज़

5
जोड़ने के लिए एक और फिक्स। कभी-कभी, RAM को निचले मानों पर सेट करने से काम नहीं चलता है। यह मामला है, कमांडर से एमुलेटर लॉन्च करने की कोशिश कुछ इस तरह से हैemulator-x86 -avd <your_avd_name>
Mykhailo Gaidai

14
बस समाधान मिला: AVD रिज़ॉल्यूशन को बलपूर्वक निर्दिष्ट करने की आवश्यकता: 800 x 1280। यह मेरे AVD को उसी रूप में शुरू करता है जो मुझे आवश्यक है
नीरव शाह

4
समस्या किसी भी प्रदर्शन त्वचा से आती hw.ramSizeहै जो config.ini ( Device Ram SizeGUI के हार्डवेयर सूची में) में 1024 का मान जोड़ता है । सुनिश्चित करें कि या तो एक "त्वचा" का चयन करें, जिसका मूल्य कम है, या मैन्युअल रिज़ॉल्यूशन का उपयोग करने के लिए और इस सूची को हार्डवेयर सूची से निकालने के लिए - आप इसे तब नहीं निकाल सकते जब कोई त्वचा चयनित हो।
RedGlyph

61

एंड्रॉइड का जिक्र : स्मृति को आवंटित करने में विफल रहा और स्वीकार किए गए जवाब के तहत इसकी पहली टिप्पणी, "1024" को "1024MB" में बदलने से मुझे मदद मिली। दयनीय, ​​लेकिन काम करता है।


29
'एमबी' को एमुलेटर द्वारा मान्यता प्राप्त नहीं है, यह डिफ़ॉल्ट 256 एमबी मूल्य का उपयोग करने के लिए मजबूर करता है। ध्यान रखें कि आपके द्वारा निर्दिष्ट राशि वह नहीं है जो आपको मिलेगी!
RedGlyph

1
एप्स, रनिंग के तहत, मेमोरी की कुल मात्रा लगभग 240 एमबी को सूचीबद्ध करता है, इसलिए ऐसा लगता है कि यह 256 एमबी तक पहुंचता है।
jishi

भागो विन्यास विंडो में जोड़ें पैरामीटर -memory 512 इस लिंक से यह मेरे लिए तय किया
GatesReign

43

मेरे मामले में:

  • 720p डिवाइस का अनुकरण करने के लिए WXGA720 में निर्मित का उपयोग करना, हमेशा यह त्रुटि मिली
  • मैन्युअल रूप से AVD रिज़ॉल्यूशन सेट करें से 720 x 1280 के लिए , मेरे लिए काम करता है

आशा है कि यह मदद करता है ~


इसी तरह, 7 के लिए डिफ़ॉल्ट "WXGA800 विफल हुआ और 800 x 1280 काम करने लगा।
xandy

30

इसके बजाय 512 एमबी के साथ काम करता है। उपरोक्त विधियों में से कोई भी मेरे लिए काम नहीं करता है।


"मेमोरी आवंटित करने में विफल: 8" त्रुटि 1024 से 768 मिब तक रैम का आकार कम करने के बाद गायब हो गई।
दही ०

उनमें से कई 512 एमबी के आकार को ठीक करने के लिए एक ही बात बता रहे हैं। लेकिन यह बिल्कुल भी काम नहीं किया गया
स्टीव

30

बाकी सब जो आप यहाँ पढ़ते हैं और अन्यत्र शुद्ध अनुमान है। इस समस्या को हल करने का एकमात्र निश्चित तरीका इस बग रिपोर्ट के लिए मतदान है

समस्या एमुलेटर रिज़ॉल्यूशन या ओपनजीएल से संबंधित नहीं है, न ही आपके कंप्यूटर में कितनी मेमोरी है। मुझे अपने कंप्यूटर में 24GB मेमोरी मिली है और अधिकांश समय hw.ramSize=1024मैं अपने साथ चलने में त्रुटि प्राप्त करता हूं। 8. अन्य बार यह बिना किसी कॉन्फ़िगरेशन परिवर्तन के ठीक काम करता है। मुझे आशा है कि आपने इसे पकड़ लिया है: मैंने एमुलेटर कॉन्फ़िगरेशन को बिल्कुल भी नहीं बदला है और फिर भी कभी-कभी यह चलता है और कभी-कभी यह विफल हो जाता है।

वहाँ एक उच्च संभावना है कि यह स्मृति विखंडन के साथ कुछ करना है। मैं hw.ramSizeअस्थायी वर्कअराउंड के मान को कम करने की सलाह देता हूं ।


2
पूरे सम्मान के साथ, आपका जवाब शुद्ध अनुमान के साथ-साथ है; मेरे लिए, मेरे पास वर्चुअल रैम सेट के साथ 2048 तक किसी भी इम्यूलेटेड डिवाइस को चलाने का कोई मुद्दा नहीं है (मैंने किसी भी उच्चतर प्रयास नहीं किया)। हालाँकि वे डिवाइस तभी चलेंगे जब मैं रिमोट डेस्कटॉप के माध्यम से अपनी मशीन का उपयोग करूंगा । तो मेरे लिए, यह निश्चित रूप से एक ग्राफिक्स मुद्दा है और स्मृति विखंडन मुद्दा नहीं है। मैं स्थानीय और दूरदराज के बीच अपने सत्र को आगे और पीछे कूदकर मज़बूती से यह साबित कर सकता हूं। एक ही सत्र, AVD प्रबंधक का एक ही उदाहरण, बस कोई भयानक NVIDIA कार्ड और एक परिदृश्य में उनके ईश्वरीय चालक नहीं। (लेकिन यह एक और धागे के लिए एक शेख़ी है)।
s.co.tt 3

यदि यह "रैम विखंडन" है, तो हम शायद यह परीक्षण कर सकते हैं कि उन मूर्खतापूर्ण मुक्त "रैम डीफ़्रैग्मेन्टेशन" कार्यक्रमों में से एक का उपयोग करना, सही है?
उपयोगकर्ता

17

ऐसा लगता है कि इसके लिए एक हजार अलग-अलग फ़िक्स हैं ... उपरोक्त में से कोई भी मेरे लिए काम नहीं करता था, लेकिन कमांड लाइन एमुलेटर-आर्म.exe @ AVD-NAME से AVD को लॉन्च करने के लिए क्या काम किया गया था

किसी तरह अगर केवल emulator.exe के साथ लॉन्च किया जाता है, तो मुझे ग्रहण के माध्यम से लॉन्च करने की तुलना में एक ही त्रुटि संदेश मिलेगा।


आपके पास भी मेरे जैसा ही मुद्दा हो सकता है। डीएलएल फाइलें लोड हो जाती हैं जब आप एमुलेटर को एक जगह से शुरू करते हैं और यदि आप दूसरे से शुरू करते हैं तो नहीं।
एमजगार्ड

14

जब आप सामान्य मोड में अनुप्रयोग चलाते हैं तो मुझे इस समस्या के समाधान का एहसास ग्रहण स्मृति आवंटन से हुआ। मैंने सिर्फ एक्लिप्स के शॉर्टकट गुणों के तहत "रन ऐज़ एडमिनिस्ट्रेटर" बॉक्स को चेक किया और अब यह मुझे AVD के लिए अधिक मेमोरी आवंटित करने की अनुमति देता है।

उम्मीद है की वो मदद करदे।


13

मैंने डिवाइस स्क्रीन का आकार बदलकर इस समस्या को दूर किया है।

मैंने पाया है कि यदि आप 1024 एमबी रैम निर्दिष्ट कर रहे हैं तो आपको डिवाइस की स्क्रीन का आकार एचडीपीआई में ही निर्दिष्ट करना होगा और यदि यह 512 एमबी रैम है तो इसे एमडीपीआई या अन्य होना चाहिए।

तो, हम स्पष्ट रूप से कह सकते हैं कि स्क्रीन आकार के अनुसार रैम आकार निर्दिष्ट किया जाना चाहिए। यदि आप डिवाइस की स्क्रीन का आकार mdpi में रखते हुए 1024 RAM आकार को निर्दिष्ट कर रहे हैं, तो इसके परिणामस्वरूप उपरोक्त त्रुटि होती है "" मेमोरी आवंटित करने में विफल: 8 इस एप्लिकेशन ने रनटाइम से इसे असामान्य तरीके से समाप्त करने का अनुरोध किया है।

अधिक जानकारी के लिए कृपया आवेदन की सहायता टीम से संपर्क करें। "

या

एवीडी प्रबंधक में अपने विकल्प इस प्रकार बनाएं:

[2013-01-11 14:44:01 - एसडीके प्रबंधक] hw.sensors.orientation = हाँ

[2013-01-11 14:44:01 - एसडीके प्रबंधक] hw.camera.front = कोई नहीं

[2013-01-11 14:44:01 - एसडीके प्रबंधक] hw.gps = हाँ

[2013-01-11 14:44:01 - एसडीके प्रबंधक] skin.dynamic = सं

[2013-01-11 14:44:01 - एसडीके प्रबंधक] hw.keyboard = सं

[2013-01-11 14:44:01 - एसडीके प्रबंधक] vm.heapSize = 32

[2013-01-11 14:44:01 - एसडीके प्रबंधक] hw.ramSize = 343


यह काम किया: [2015-07-23 12:54:59 - एसडीके प्रबंधक] disk.dataPartition.size = 500M [2015-07-23 12:54:59 - एसडीके प्रबंधक] hw.gpu.enabled = हाँ [2015- 07-23 12:54:59 - एसडीके प्रबंधक] hw.audioInput = हाँ [2015-07-23 12:54:59 - एसडीके प्रबंधक] hw.sensors.orientation = हाँ [2015-07-23 12:54:59 - SDK Manager] hw.camera.front = कोई नहीं [2015-07-23 12:54:59 - SDK Manager] hw.gps = yes [2015-07-23 12:54:59 - SDK Manager] skin.dynamic = नहीं [2015-07-23 12:54:59 - एसडीके प्रबंधक] hw.keyboard = हाँ [2015-07-23 12:54:59 - एसडीके प्रबंधक] vm.heapSize = 32 [2015-07-23 12:54 : 59 - एसडीके प्रबंधक] hw.ramSize = 512
उपयोगकर्ता 914425

6

मैं इस धागे पर उल्लिखित अन्य सभी समाधानों के माध्यम से चला गया और मुझे ऐसा कुछ भी नहीं मिला जो काम कर रहा था, इसलिए मैंने थोड़ी सी आसपास चक्कर लगाया। API का Google संस्करण किसी कारण से मुझ पर विफल हो रहा था। मैंने इसे वापस वैनिला में बदल दिया और कोई और दुर्घटना नहीं हुई।

मेरे पास कुछ और मुद्दा होना चाहिए लेकिन शायद इससे किसी को मदद मिलेगी ...


अजीब। मुझे वेनिला संस्करण में सेट किया गया था, लेकिन इसे Google API पर स्विच करने से यह हल हो गया। वैसे भी विचार के लिए +1!
पॉल

6

33930 आधिकारिक मुद्दे पर एक नज़र है । वहाँ बताया गया है, कि यह एमुलेटर की शुरुआत के दौरान ओपनजीएल की शुरुआत के साथ करना पड़ सकता है। दूसरों ने लिखा है कि यह केवल क्रैश होता है जब वे WXGA800-skin का उपयोग करते हैं और 800x1280 पर मैन्युअल रूप से रिज़ॉल्यूशन सेट करने का सुझाव देते हैं।

इसके अलावा संस्करण -11 के लिए अपने एंड्रॉइड एसडीके को मैन्युअल रूप से डाउनग्रेड करने के लिए ज़िप-फाइल्स प्रदान की गई हैं और संस्करण 11 में प्लैटफॉर्म-टूल्स हैं। इससे समस्या को अस्थायी रूप से ठीक करने में मदद मिल सकती है।


यह मेरे मुद्दे से संबंधित हो सकता है। डीएलएल फाइलें लोड हो जाती हैं जब आप एमुलेटर को एक जगह से शुरू करते हैं और यदि आप दूसरे से शुरू करते हैं तो नहीं।
mjaggard

इसमें और भी बहुत कुछ होना चाहिए। पहले इसे WXGA800 पर सेट करना और फिर इसे 1280x800 के मैनुअल रिज़ॉल्यूशन में बदलना अभी भी AVD को क्रैश करता है। केवल hw.ramSize=1024समस्या को हल करके (आप ऐसा नहीं कर सकते हैं कि यदि WXGA का चयन किया गया है, तो आपको मैन्युअल रिज़ॉल्यूशन सेटिंग्स का उपयोग करने की आवश्यकता है)।
RedGlyph 11

5

मेरी मशीन में 16 GB और 3.4 Ghz क्वाड कोर की खरीद है। वर्चुअल मशीन मुझे इसे 1024 में भी चलने नहीं देगी। मैंने इसे 878MB तक उछाल दिया क्योंकि यह एक ही संदेश के साथ 880 पर विफल रहा। ऐसा लगता है कि सबसे अधिक RAM मैं एमुलेटर को आवंटित कर सकता हूं। यह अभी भी धीमा है लेकिन मैं इसे 512MB से बेहतर मान रहा हूं।


5

मैं एवीडी के लॉन्च विकल्पों से अपनी मॉनिटर डीपीआई सेटिंग्स को बदलता हूं और इसे मेरे मॉनिटर की मूल और वर्तमान सेटिंग के साथ सिंक्रनाइज़ करता हूं, और यह काम करता है।



3

मेरे पास एक ही मुद्दा था लेकिन इससे पहले कि मैं यह मुद्दा उठाता मुझे एक वीडियो स्रोत पर कब्जा करने के लिए कहा।

मैंने कैमरा समर्थन को अक्षम कर दिया और मैं उपयोग करने में सक्षम था 1024MB of RAM

विंडोज का उपयोग करना 64bit, Xoom (Android 3.0)


3

मेरे मामले में, WVGA720 से WSVGA के लिए चेंजिन स्क्रीन रिज़ॉल्यूशन मेरे लिए काम करता है।


3

समस्या स्मृति विखंडन में है। OS को vm (1Gb कहना) के लिए आपके द्वारा निर्दिष्ट सभी राम को एक निरंतर ब्लॉक के रूप में आवंटित करना होगा। कभी-कभी ऐसा कोई ब्लॉक नहीं होता है। इसे बंद करने के लिए चल रहे कार्यक्रमों को ठीक करने के लिए, फिर avd चलाएं और अपनी वर्चुअल मशीन शुरू करें।


2

विंडोज पर मेरे लिए क्या काम किया गया था:

1) समापन ग्रहण 2) Avd UI 3 चलाना) सभी चल रही प्रक्रियाओं को बंद करना, विशेष रूप से जो कि मेमोरी में भारी हैं, जैसे क्रोम, एक्सप्लोरर। Exe, आदि 4) एमुलेटर 5 शुरू करें) जीत


2

सुनिश्चित करें कि IntelHAXM सही तरीके से स्थापित है। एसडीके प्रबंधक के माध्यम से इसे डाउनलोड और "इंस्टॉल" करने के लिए पर्याप्त नहीं है। आपको इसे मैन्युअल रूप से इंस्टॉल करने की आवश्यकता है:

android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

इसके अलावा, सुनिश्चित करें कि इंटेल वर्चुअल टेक्नोलॉजी आपके BIOS में सक्षम है।

Developer.android.com या Intel के इंस्टॉलेशन निर्देशों पर गाइड का पालन करें ।


2

आपको केवल अपने वर्चुअल डिवाइस के रैम को एडिट करना होगा, जिससे यह कम हो जाएगा! 20 एमबी की कोशिश करो, और यह काम करेगा!


1

मैंने देखा कि यह ठीक है जो मैंने ठीक काम किया है बाकी सभी से संबंधित था। मैंने इसे हटा दिया और एक नया बनाया और अब यह काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.