View Full Version : مشکل کند بودن نرم افزار در موبایل
Shut Down
دوشنبه 18 فروردین 1393, 20:09 عصر
سلام به همه عزیزان
من یک مشکلی که دارم اینه که برنامم تو موبایل واقعا خیلی کنده
من از لیست ویو استفاده میکنم
وقتی رو یه ایتم کلیک میکنم میرم به یه اکتیویتی دیگه که توش متن و عکس هست
و تو این راه یا خیلی گیر میکنه یا اصلا کرش میکنه
ممنون میشم کمک کنید
سورس هم قرار نمیدم چون واقعا میدونم تاثیری نداره
ولی واقعا ممنون میشم اگه بلدید بگید تا سورس رو بهتون بدم چک کنید
این اولین برنامم هست
اگه تاثیری داره : 12 سالمه , داره گریم میگیره به خدا , اولین برناممه
smemamian
دوشنبه 18 فروردین 1393, 21:02 عصر
سلام
اگه تاثیری داره : 12 سالمه
آفرین بر شما و امیدوارم موفق و پیروز باشید.
اما در مورد سرعت و کندی شما :
1- روی پروژه راست کلیک کنید و گزینه ی
Android Tools و سپس Run Lint: Check for Commen Error
رو بزنید. پس از زدن این دکمه لیستی از هشدارها و خطا برای
شما نمایش داده میشه و مطمئناً بیشتر هشدارها برای Layoutهای
شما خواهد بود. تک تک هشدار و خطاها را بررسی کنید.
2- Bitmapها خیلی از منابع شما رو مصرف می کنند. در واقع
وقتی شما در حین اجرای برنامه تصویری رو تعویض می کنید
این برای RAM شما هزینه ی سنگینی خواهد داشت.
3- شما باید و باید از Drawableها با سایزهای mdpi
hdpi xhdpi xxhdpi استفاده کنید.
نکته : تصاویر پس زمینه هم شامل این موضوع می شود
پس به این صورت فکر نکنید که اگر یک تصویر 1200*1200 در
فقط در mdpi برای پس زمینه قرار بدم خود سیستم اون تصویر
روی Resize خواهد کرد و در عوض کیفیت تصویر هم از دست نمی رود
که در این صورت میزان مصرفی شما برای Scale کردن تصویر 2 برابر خواهد شد.
4- در Listviewها
که شما هم از اون استفاده کردید، حتماً از ViewHolderها استفاده کنید.
5- از تصاویر 9patchها
استفاده کنید که این کارایی برنامه شما را چندبرابر خواهد کرد.
6- از تودرتو کردن Layoutها
بیش از 6 تودرتو اجتناب کنید. (مورد اولی همین بحث، Lint، به شما این مورد رو خواهد گفت.)
این موارد ساده ترین و ابتدایی ترین مواردی هستند که باید رعایت کنید.
حالا در کد شما باید ببینید این داده های Listview چگونه وارد لیست می شود
و موارد بالا را تک تک بررسی کنید اگر مشکلتون برطرف نشد در همین پست مطرح کنید.
توصیه : همین که اول کار هستید سعی کنید یک کلاس زبان برید و زبان خودتون تقویت کنید.
Shut Down
دوشنبه 18 فروردین 1393, 21:08 عصر
من که هنگ کردم :D
یکم قسمت عکس ها رو بیشتر توضیح میدید
خیلی ممنون
راستی خیلی ممنون میشم سورس رو یه نگاه بندازید
چطوری جلوی استفاده زیاد از حافظه رو بگیرم
من خیلی از عکس استفاده کردم و احتمال همون رو میدم
ممنون میشم کمک کنید
shahin bahari
دوشنبه 18 فروردین 1393, 21:26 عصر
احتمال بسیار زیاد از ترد استفاده نکردید و توی ترد اصلی همه کار ها رو انجام میدید که این باعث میشه UI برنامه کند بشه.
تا میتونید محاسبات رو توی تردی جدای از ترد اصلی انجام بدبد (یکم بیشتر سنگین کنید برنامه رو و به بیش از 5 ثانیه نیاز داشته باشه برنامه کرش میکنه!)
در مورد AsyncTask همین جا سرچ کنید و ازش استفاده کنید.
مواردی که در بالا اشاره شد هم مهم هستند ولی باید دید مشکل شما دقیقا از کدوم قسمت هست.
bia2joker
سه شنبه 19 فروردین 1393, 14:13 عصر
سلام به همه عزیزان
من یک مشکلی که دارم اینه که برنامم تو موبایل واقعا خیلی کنده
من از لیست ویو استفاده میکنم
وقتی رو یه ایتم کلیک میکنم میرم به یه اکتیویتی دیگه که توش متن و عکس هست
و تو این راه یا خیلی گیر میکنه یا اصلا کرش میکنه
ممنون میشم کمک کنید
سورس هم قرار نمیدم چون واقعا میدونم تاثیری نداره
ولی واقعا ممنون میشم اگه بلدید بگید تا سورس رو بهتون بدم چک کنید
این اولین برنامم هست
اگه تاثیری داره : 12 سالمه , داره گریم میگیره به خدا , اولین برناممه
اگه موقع load کردن تصویر دچار کمبود حافظه شدی و برنامه بیرون اومد
از این کد استفاده کن
BitmapFactory.Options options = new BitmapFactory.Options();
// downsizing image as it throws OutOfMemory Exception for larger
// images
options.inSampleSize = 8;
Bitmap bitmap = BitmapFactory.decodeFile(selectedImagePath,options );
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.