PDA

View Full Version : راه های جاوگیری از crash کردن برنامه



srfarzad
سه شنبه 16 اسفند 1390, 00:37 صبح
خیلی وقت ها پیش می اید که بعد از نوشتن کد ، هیچ خطای سینتکسی وجود ندارد ولی وقتی برنامه را اجرا می کنید، Crash می کند و از برنامه خارج می شود.
بعضی مواقع می شه تشخیص داد که چطوری این مشکل رو حل کرد ولی وقتی که کد نویسی زیاد باشد پیدا کردن این بخش سخت می شود.
یکی از راه های دیگر هم میشه از LOG استفاده کرد و خط مورد نظر و خطا رو بهمون نشون بده.
آموزش اندروید (http://p30droid.com/) آموزش برنامه نویسی اندروید (http://p30droid.com/) برنامه نویسی اندروید (http://p30droid.com/) اندروید استودیو (http://p30droid.com/) آموزش اندروید استودیو (http://p30droid.com/)
دوستان راه دیگه برای این مشکل دارن ارائه بدن.چون مشکل خیلی رو می تونیم برطرف کنیم در این تاپیک ؟

powerboy2988
سه شنبه 16 اسفند 1390, 11:30 صبح
بهترین راحش اینکه از try catch استفاده کنی .. حالا بر اساس Lib های که استفاده می کنی می تونی catch ها رو کنترل کنی ...

srfarzad
سه شنبه 16 اسفند 1390, 12:01 عصر
از اونهام استفاده کردم ام ولی زیاد فرقی نمی کنه و از برنامه خارج میشه فقط میزان crash رو کاهش می ده.
بجز این راه دیگه ای کسی می دونه ؟ ؟

codelover
شنبه 20 اسفند 1390, 09:47 صبح
سلام دوست عزیز

اندروید کمی استایلش فرق داره

مثلا یکی از دلایل force close شدن برنامه ها اینه که اندروید اجازه نمیده یه برنامه بیشتر از ۴ ثانیه فکر کنه در چنین حالتی پنجره ی Force close ظاهر میشه و از کاربر می پرسه که می خواد برنامه رو ببنده یا اینکه صبر کنه ! برای رفع این مشکل اگر به پردازشی سنگین نیاز دارید که بیش از ۴ ثانیه زمان لازم داره حتما باید پردازش رو از thread اصلی خارج کنید و به یه Thread دیگه منتقلش کنید

یا مثلا بدون این که بدونید از یه تابعی استفاده کردید که یادتون رفته و یا اصلا نمی دونید که به ذکر مجوزش تو فایل مانیفست نیاز هست

بعضی موقعا هم که یادمون میره تو فایل مانیفست activity ها یا Service ها یا Receiver ها رو ذکر کنیم و یا اسم شون رو طوری ذکر می کنیم که به کلاس درست هدایت نمی شن

این ارور ها رو eclipse تشخیص نمیده البته اولی رو نمی تونه ولی باید امکان تشخیص بعدی ها رو بهش اضافه کنن

powerboy2988
شنبه 20 اسفند 1390, 18:31 عصر
کل این مشکلاتی که گفتین راحت تو try catch گرفته میشه... من تو xml ، manifest ، تو سورس هام و جاهای دیگه رو با try catch هندل کردم.... یعنی مشکلی نبوده که بتونه در بره... D:


نمونه مشکلی که دارید رو ممکنه ذکر کنید...

ممنون

codelover
یک شنبه 21 اسفند 1390, 00:10 صبح
سلام

تو مشکل اول try catch هیج کاری نمی تونه بکنه

ولی وقتی اجرای یه Activity رو بندازید تو try catch و اون رو هم تو مانیفست تعریف نکرده باشید نه اروری بهتون میده و نه Activity رو نشون میده درست مثل یه بیمار سرطانی می مونه که با مسکن ساکتش کردید !!!