سلام به همه بزرگان و اساتید و اعضا
ساخت برنامه ای رو تجربه میکنم که 5 تا فایل mp3 رو قرار داشته باشه و خیلی ساده پخش کنه
فایلها حجم بالایی دارن ( بالاتر از 40 مگابایت ) به دلیل اینکه موزیک مدیتیشن هست و هر کدوم 30 دقیقه تا یک ساعت زمانش هست
همه چیز مرتبه و فایلها اجرا میشه و همه چیز خوبه
---------------------
برای اینکه همکاران (کلاه سیاه) موزیک ها رو به سادگی از توی فایل سورس بر ندارند اومدم یک ترفند کوچک زدم
فایلها رو به بایت تغیر فرمت دادم و جند بایتش رو عوض کردم که اگر از برنامه با دیکامپایل خارج شد قابل استفاده نباشه
حالا اومدم تو بیسیک و قصد دارم وقتی فایل رو کپی میکنیم بایتش رو هم به صورت اول در بیارم که قابل استفاده باشه (( برای برنامه خودم ))
در این کار هم موفق هست در ورژن بالای اندروید مثلا api 19 به بالا و مشکلی نداره ولی در (( در api 16 و api های پاین اندروید ))
به فایل های سنگین میرسه...........
که فایلهای mp3 که بالای 10 مگابایت هست رو اررور میده و از برنامه خارج میشه
و مینویسه
** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
//======================//
شروع برنامه
//======================//
File.DirInternal کنترل وجود فایل در
//======================//
شروع تغیر فایل به بایت
filedata_file2byte (java line: 68)
java.lang.OutOfMemoryError
at java.io.ByteArrayOutputStream.expand(ByteArrayOutputStream.java:91)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:201)
at anywheresoftware.b4a.objects.streams.File.Copy2(File.java:357)
at b4a.example.filedata._file2byte(filedata.java:68)
at b4a.example.main._activity_create(main.java:363)
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 b4a.example.main.afterFirstLayout(main.java:102)
at b4a.example.main.access$000(main.java:17)
at b4a.example.main$WaitForLayout.run(main.java:80)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
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:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
خوب حالا چه باید بکنم که برنامه با این عملیات سنگین روبرو میشه خارج نشه؟؟
تشکراز همه اساتید
سوال
arastooms 1,046
سلام به همه بزرگان و اساتید و اعضا
ساخت برنامه ای رو تجربه میکنم که 5 تا فایل mp3 رو قرار داشته باشه و خیلی ساده پخش کنه
فایلها حجم بالایی دارن ( بالاتر از 40 مگابایت ) به دلیل اینکه موزیک مدیتیشن هست و هر کدوم 30 دقیقه تا یک ساعت زمانش هست
همه چیز مرتبه و فایلها اجرا میشه و همه چیز خوبه
---------------------
برای اینکه همکاران (کلاه سیاه) موزیک ها رو به سادگی از توی فایل سورس بر ندارند اومدم یک ترفند کوچک زدم
فایلها رو به بایت تغیر فرمت دادم و جند بایتش رو عوض کردم که اگر از برنامه با دیکامپایل خارج شد قابل استفاده نباشه
حالا اومدم تو بیسیک و قصد دارم وقتی فایل رو کپی میکنیم بایتش رو هم به صورت اول در بیارم که قابل استفاده باشه (( برای برنامه خودم ))
در این کار هم موفق هست در ورژن بالای اندروید مثلا api 19 به بالا و مشکلی نداره ولی در (( در api 16 و api های پاین اندروید ))
به فایل های سنگین میرسه...........
که فایلهای mp3 که بالای 10 مگابایت هست رو اررور میده و از برنامه خارج میشه
و مینویسه
** Service (starter) Create ** ** Service (starter) Start ** ** Activity (main) Create, isFirst = true ** //======================// شروع برنامه //======================// File.DirInternal کنترل وجود فایل در //======================// شروع تغیر فایل به بایت filedata_file2byte (java line: 68) java.lang.OutOfMemoryError at java.io.ByteArrayOutputStream.expand(ByteArrayOutputStream.java:91) at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:201) at anywheresoftware.b4a.objects.streams.File.Copy2(File.java:357) at b4a.example.filedata._file2byte(filedata.java:68) at b4a.example.main._activity_create(main.java:363) 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 b4a.example.main.afterFirstLayout(main.java:102) at b4a.example.main.access$000(main.java:17) at b4a.example.main$WaitForLayout.run(main.java:80) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) 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:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method)
خوب حالا چه باید بکنم که برنامه با این عملیات سنگین روبرو میشه خارج نشه؟؟
تشکراز همه اساتید
لینک ارسال
به اشتراک گذاری در سایت های دیگر
15 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.