بنده به یه مشکل بر خوردم تو فراخوانی عکس از دیتابیس
ببینید من وقتی میام عکسارو تک تک از دیتا بیس میخونم مشکلی نداره
ولی یه جا میخوام مثلا 10 تا عکس رو از دیتا بیس بخونم و قرارش بدم تو لیست ویو که با این ارور مواجه میشم:
java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:529)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:601)
at anywheresoftware.b4a.objects.drawable.CanvasWrapper$BitmapWrapper.Initialize2(CanvasWrapper.java:519)
at biz.App.mahsolat._pic(mahsolat.java:778)
at biz.App.mahsolat._k1_tick(mahsolat.java:726)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:169)
at anywheresoftware.b4a.objects.Timer$TickTack.run(Timer.java:105)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
تا اون جایی که من متوجه شدم میگه که رم پر میشه و خطا میده
و حالا جالب اینجاست تو امولاتور به این صورته تو امولاتور بیشتر از 2 عکس بخونی از دیتابیس این ارور رو میده
رو گوشی تست کردم فقط یه جا 20 تا عکس بوده باید میخونده و تبدیل میکرده به بیت مپ اونجا دوباره این ارور رو میده بنظر من اینجا بستگی به رم طرف داره که برنامه خوب اجرا بشه یا نه
حالا یه سوال میشه کاری کرد بعداز دی کد کردن هر عکس از دیتابیس حافظه رو خالی کنیم که این مشکل پیش نیاد ؟
اینم کداهایی هستن که استفاده میکنم :
For i=0 To curM.RowCount-1
curM.Position=i
pic("pic",bit1)
listkol.AddTwoLinesAndBitmap2(" "&curM.GetString("name"),"",bit1,curM.GetString("id"))
Next
Sub pic(image As String,wbitmap As Bitmap) As Bitmap
Dim buffer() As Byte
buffer=curM.GetBlob(image)
Dim inputstream As InputStream
inputstream.InitializeFromBytesArray(buffer,0,buffer.Length)
wbitmap.Initialize2(inputstream)
inputstream.Close
End Sub
ممنون میشم از دوستان عزیز ک جوابمو بدن خیلی نیاز دارم
سوال
Ali BBH 27
سلام خسته نباشید دوستان
بنده به یه مشکل بر خوردم تو فراخوانی عکس از دیتابیس
ببینید من وقتی میام عکسارو تک تک از دیتا بیس میخونم مشکلی نداره
ولی یه جا میخوام مثلا 10 تا عکس رو از دیتا بیس بخونم و قرارش بدم تو لیست ویو که با این ارور مواجه میشم:
تا اون جایی که من متوجه شدم میگه که رم پر میشه و خطا میده
و حالا جالب اینجاست تو امولاتور به این صورته تو امولاتور بیشتر از 2 عکس بخونی از دیتابیس این ارور رو میده
رو گوشی تست کردم فقط یه جا 20 تا عکس بوده باید میخونده و تبدیل میکرده به بیت مپ اونجا دوباره این ارور رو میده بنظر من اینجا بستگی به رم طرف داره که برنامه خوب اجرا بشه یا نه
حالا یه سوال میشه کاری کرد بعداز دی کد کردن هر عکس از دیتابیس حافظه رو خالی کنیم که این مشکل پیش نیاد ؟
اینم کداهایی هستن که استفاده میکنم :
ممنون میشم از دوستان عزیز ک جوابمو بدن خیلی نیاز دارم
لینک ارسال
به اشتراک گذاری در سایت های دیگر
5 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.