تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل کرش کردن برنامه
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام استاد من برنامه ای نوشتم که بار اول اجرا میشه و بدون مشکل به کار خودش ادامه میده
اما در بار دوم که مثلا از اکتیویتی دوم میاد به اکتیویتی اصلی و میخواهد باز عملیات خرید انجام بده برنامه کرش میکنه
و اصلا هیچی خطایی هم نمیده من با بررسی به این قسمت ها رسیدم لطفا راهنمایی کنید مشکل از کجاس
خوب اول اینکه نمایش شماره‌ی خطوط رو فعال کنید و دوم روی لینک آبی بالایی توی پنجره‌ی خطا کلیک کنین ببینین خطا از کجاست. چطور میگین خطا نمیده؟ پس خطای توی عکس چیه؟ متن خطا رو کامل بگذارین (بخصوص قسمتی که نوشته Caused By)
با سلام بار اول اجرا میشه بار دوم مشکل کمبود حافظه پیدا میکنه
این متن کامل خطا :
W/EGL_emulation: eglSurfaceAttrib not implemented
W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xd8f3f8a0, error=EGL_SUCCESS
E/Surface: getSlotFromBufferLocked: unknown buffer: 0xdbcb6d90
I/art: Clamp target GC heap from 101MB to 96MB
I/art: Starting a blocking GC Alloc
I/art: Starting a blocking GC Alloc
I/art: Starting a blocking GC Alloc
I/art: Clamp target GC heap from 108MB to 96MB
I/art: Alloc partial concurrent mark sweep GC freed 7873(521KB) AllocSpace objects, 44(2036KB) LOS objects, 3% free, 92MB/96MB, paused 118us total 5.690ms
I/art: Starting a blocking GC Alloc
I/art: Starting a blocking GC Alloc
I/art: Starting a blocking GC Alloc
I/art: Clamp target GC heap from 111MB to 96MB
I/art: Starting a blocking GC Alloc
I/art: Clamp target GC heap from 111MB to 96MB
I/art: Forcing collection of SoftReferences for 1551KB allocation
I/art: Starting a blocking GC Alloc
I/art: Clamp target GC heap from 111MB to 96MB
W/art: Throwing OutOfMemoryError "Failed to allocate a 1588352 byte allocation with 192624 free bytes and 188KB until OOM"
I/art: Starting a blocking GC Alloc
I/art: Starting a blocking GC Alloc
I/art: Starting a blocking GC Alloc
I/art: Clamp target GC heap from 111MB to 96MB
I/art: Starting a blocking GC Alloc
I/art: Clamp target GC heap from 111MB to 96MB
I/art: Forcing collection of SoftReferences for 1551KB allocation
I/art: Starting a blocking GC Alloc
I/art: Clamp target GC heap from 111MB to 96MB
W/art: Throwing OutOfMemoryError "Failed to allocate a 1588352 byte allocation with 191504 free bytes and 187KB until OOM"
D/skia: --- allocation failed for scaled bitmap
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: ir.jafar.sharifi.app.pardebazar, PID: 25253
                  java.lang.OutOfMemoryError: Failed to allocate a 1588352 byte allocation with 191504 free bytes and 187KB until OOM
                      at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
                      at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
                      at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609)
                      at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
                      at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1080)
                      at android.content.res.Resources.loadDrawableForCookie(Resources.java:2635)
                      at android.content.res.Resources.loadDrawable(Resources.java:2540)
                      at android.content.res.Resources.getDrawable(Resources.java:806)
                      at android.content.res.Resources.getDrawable(Resources.java:771)
                      at ir.jafar.sharifi.app.pardebazar.HomeActivity.myGUIinit(HomeActivity.java:126)
                      at ir.jafar.sharifi.app.pardebazar.HomeActivity.onCreate(HomeActivity.java:39)
                      at android.app.Activity.performCreate(Activity.java:6237)
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                      at android.app.ActivityThread.-wrap11(ActivityThread.java)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:148)
                      at android.app.ActivityThread.main(ActivityThread.java:5417)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Application terminated.
مشکل من اینه من هر بار یه آرایه از تصاویر رو تو ایمیج ویو بارگذاری میکنم و مشکل فضا پیدا کرده
بهتره تصاویرتون رو کم‌حجم کنید. ترجیحاً خودتون توی پوشه‌های جداگانه برای رزولوشن‌های مختلف مثل xxhdpi و... نسخه‌ی ریسایزشده رو بگذارین تا اندروید خودش مجبور نشه موقع اجرا تغییر سایز بده و به مشکل حافظه برخورد کنه.
استاد این کار رو کردم تو پوشه xxhdpi  هستن تصاویر فقط برای گرد کردن گوشه ها از این دستور استفاده میکنم الان راهی نیست که بتونیم این کار رو انجام بدیم که این خطا در امان بمونیم؟
برای لبه‌های گرد از تکنیک 9-Patch استفاده کنید.
با سلام استاد میشه راهنمایی کنید من نمیدونم این تکنیک رو تو آندروید مقدماتی گفته شده؟
من پک مقدماتی رو دارم
اگر نه که کجا میشه یاد گرفت بفرمایید بخونم یاد بگیرم
توی گوگل سرچ کنین: How to make 9-patch images