رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل کرش کردن برنامه
#1
با سلام استاد من برنامه ای نوشتم که بار اول اجرا میشه و بدون مشکل به کار خودش ادامه میده
اما در بار دوم که مثلا از اکتیویتی دوم میاد به اکتیویتی اصلی و میخواهد باز عملیات خرید انجام بده برنامه کرش میکنه
و اصلا هیچی خطایی هم نمیده من با بررسی به این قسمت ها رسیدم لطفا راهنمایی کنید مشکل از کجاس


فایل‌های پیوست تصاویر بندانگشتی
   
پاسخ
تشکر شده توسط:
#2
خوب اول اینکه نمایش شماره‌ی خطوط رو فعال کنید و دوم روی لینک آبی بالایی توی پنجره‌ی خطا کلیک کنین ببینین خطا از کجاست. چطور میگین خطا نمیده؟ پس خطای توی عکس چیه؟ متن خطا رو کامل بگذارین (بخصوص قسمتی که نوشته Caused By)
پاسخ
تشکر شده توسط:
#3
با سلام بار اول اجرا میشه بار دوم مشکل کمبود حافظه پیدا میکنه
این متن کامل خطا :
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.
مشکل من اینه من هر بار یه آرایه از تصاویر رو تو ایمیج ویو بارگذاری میکنم و مشکل فضا پیدا کرده
پاسخ
تشکر شده توسط:
#4
بهتره تصاویرتون رو کم‌حجم کنید. ترجیحاً خودتون توی پوشه‌های جداگانه برای رزولوشن‌های مختلف مثل xxhdpi و... نسخه‌ی ریسایزشده رو بگذارین تا اندروید خودش مجبور نشه موقع اجرا تغییر سایز بده و به مشکل حافظه برخورد کنه.
پاسخ
تشکر شده توسط:
#5
استاد این کار رو کردم تو پوشه xxhdpi  هستن تصاویر فقط برای گرد کردن گوشه ها از این دستور استفاده میکنم الان راهی نیست که بتونیم این کار رو انجام بدیم که این خطا در امان بمونیم؟
پاسخ
تشکر شده توسط:
#6
برای لبه‌های گرد از تکنیک 9-Patch استفاده کنید.
پاسخ
تشکر شده توسط:
#7
با سلام استاد میشه راهنمایی کنید من نمیدونم این تکنیک رو تو آندروید مقدماتی گفته شده؟
من پک مقدماتی رو دارم
اگر نه که کجا میشه یاد گرفت بفرمایید بخونم یاد بگیرم
پاسخ
تشکر شده توسط:
#8
توی گوگل سرچ کنین: How to make 9-patch images
پاسخ
تشکر شده توسط: flash118




کاربران در حال بازدید این موضوع: 3 مهمان