मैं एक ऐप को लागू करने की कोशिश कर रहा हूं जहां गतिविधि बनाने पर छवि दृश्य में बड़ी संख्या में छवियों को लोड किया जाना है - स्क्रॉलव्यू में बिल्कुल 24 छविदृश्य गठबंधन हैं। जब मैं उस गतिविधि को 24 छविदृश्य के साथ लॉन्चर गतिविधि के रूप में शुरू करता हूं-यह ठीक काम करता है .. लेकिन, जब मैं स्वागत स्क्रीन के बाद दूसरी गतिविधि के रूप में उस गतिविधि का उपयोग करता हूं तो यह क्रैश हो जाता है और कहता है ->
12-29 11:54:04.624 31595-31595/com.example.myvidapp W/art: Throwing OutOfMemoryError "Failed to allocate a 6822556 byte allocation with 3024640 free bytes and 2MB until OOM"
12-29 11:54:04.633 31595-31595/com.example.myvidapp D/skia: --- allocation failed for scaled bitmap
12-29 11:54:04.634 31595-31595/com.example.myvidapp D/AndroidRuntime: Shutting down VM
12-29 11:54:04.635 31595-31595/com.example.myvidapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myvidapp, PID: 31595
java.lang.OutOfMemoryError: Failed to allocate a 6822556 byte allocation with 3024640 free bytes and 2MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:620)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:455)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1155)
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:720)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
at android.content.res.Resources.loadDrawable(Resources.java:858)
at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
at android.view.View.<init>(View.java:4202)
at android.widget.ImageView.<init>(ImageView.java:155)
at android.widget.ImageView.<init>(ImageView.java:150)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:72)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:68)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024)
at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.example.myvidapp.MainActivity.onCreate(MainActivity.java:15)
at android.app.Activity.performCreate(Activity.java:6723)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2626)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2734)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1485)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6195)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
मैं इस त्रुटि को कैसे दूर कर सकता हूँ ??
यहाँ मेरी एक्सएमएल फ़ाइल है ->
<ScrollView android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android" >
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bkg">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="5dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Video Chat MadeEasy"
android:textColor="#191fcc"
android:textStyle="bold"
android:textSize="30sp"
android:gravity="center"
android:layout_marginBottom="10dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Most Popular collections!!"
android:textSize="20sp"
android:gravity="center"
android:layout_marginBottom="10dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginBottom="20dp"
>
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/skype"
android:tooltipText="Skype"
android:layout_margin="5dp"
android:onClick="skype_clk" >
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/whapp"
android:tooltipText="WhatsApp"
android:layout_margin="5dp"
android:onClick="whp_clk">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/msng"
android:layout_margin="5dp"
android:onClick="msg_clk"
android:tooltipText="Messenger">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginBottom="20dp">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/imo"
android:tooltipText="imo"
android:layout_margin="5dp"
android:onClick="imo_clk">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/line"
android:tooltipText="Line"
android:layout_margin="5dp"
android:onClick="lin_clk">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/tango"
android:layout_margin="5dp"
android:onClick="tng_clk"
android:tooltipText="Tango">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginBottom="20dp" >
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/viber"
android:layout_margin="5dp"
android:onClick="vbr_clk"
android:tooltipText="Viber">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/icq"
android:layout_margin="5dp"
android:onClick="icq_clk"
android:tooltipText="icq">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/wechat"
android:tooltipText="weChat"
android:layout_margin="5dp"
android:onClick="wct_clk">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginBottom="20dp" >
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/ghangout"
android:tooltipText="Hangout"
android:layout_margin="5dp"
android:onClick="ght_clk">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/duo"
android:onClick="duo_clk"
android:tooltipText="Duo"></ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/bigo"
android:tooltipText="Bigo Live"
android:layout_margin="5dp"
android:onClick="bgo_clk">
</ImageView>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="5dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="More from us!!"
android:textColor="#191fcc"
android:textStyle="bold"
android:textSize="30sp"
android:gravity="center"
android:layout_marginBottom="10dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Untraditional collections!!"
android:textSize="20sp"
android:gravity="center"
android:layout_marginBottom="10dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginBottom="20dp"
>
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/snct"
android:tooltipText="Snapchat"
android:layout_margin="5dp"
android:onClick="snct_clk" >
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/livu"
android:tooltipText="LivU"
android:layout_margin="5dp"
android:onClick="livu_clk">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/kct"
android:layout_margin="5dp"
android:onClick="kct_clk"
android:tooltipText="KingsChat">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginBottom="20dp">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/lly"
android:tooltipText="live.ly"
android:layout_margin="5dp"
android:onClick="lly_clk">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/mpl"
android:tooltipText="Marcopolo"
android:layout_margin="5dp"
android:onClick="mpl_clk">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/now"
android:layout_margin="5dp"
android:onClick="now_clk"
android:tooltipText="YouNow">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginBottom="20dp" >
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/lme"
android:layout_margin="5dp"
android:onClick="lme_clk"
android:tooltipText="live.me">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/sgo"
android:layout_margin="5dp"
android:onClick="sgo_clk"
android:tooltipText="Streamgo">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/hny"
android:tooltipText="Honey"
android:layout_margin="5dp"
android:onClick="hny_clk">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginBottom="20dp" >
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/mln"
android:tooltipText="Melon"
android:layout_margin="5dp"
android:onClick="mln_clk">
</ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/imn"
android:onClick="imn_clk"
android:tooltipText="Indian Messsenger"></ImageView>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/hk"
android:tooltipText="Hike"
android:layout_margin="5dp"
android:onClick="hk_clk">
</ImageView>
</LinearLayout>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Want to explore more ? Click here !!"
android:onClick="btnpl"
android:background="@drawable/buttonshape"
android:textColor="#ffffff"/>
</LinearLayout>
</ScrollView>
और यहां लाइन नंबर 15 है जो यह त्रुटि दिखा रहा है - यानी "ऑनक्रेट" -> . पर
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //line no 15 in my code(indicated in the logcat)
}
4 जवाब
इसे अपने मैनिफेस्ट में प्रयोग करें:
<application
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
मेनिफेस्ट फ़ाइल जोड़ें android:hardwareAccelerated="false", android:largeHeap="true" यह कुछ पर्यावरण के लिए काम करेगा।
<application
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
इमेज लोड करने वाली लाइब्रेरी जैसे Glide
और Picasso
का इस्तेमाल करें। Glide
के लिए:
public static void loadToGlide(Context context, ImageView imageView, Object o) {
Glide.with(context)
.asBitmap()
.apply(new RequestOptions()
.centerCrop())
.transition(new BitmapTransitionOptions()
.crossFade())
.load(o)
.into(imageView);
}
आवाज देना:
loadToGlide(context, yourImageView, R.drawable.yourImage);
वे आपके लिए सब कुछ संभाल लेंगे, खासकर OutOfMemoryError
।
आप एकाधिक इमेजव्यू के बजाय रीसाइलरव्यू का उपयोग कर सकते हैं और छवि लोड करने के लिए वॉली इमेजलोडर या ग्लाइड का उपयोग कर सकते हैं।
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।