کُند کار کردن شدید برنامه موقع گرفتن اطلاعات از سرور(حل شد)
سلام
من دارم یه برنامه ای میسازم ،که این برنامه باید بره از سمت سرور یه اطلاعاتی که به صورت دیتابیس ذخیره شده رو بخونه (یک جدول 25*30 که داخل هر سلول جدول یک عدد قرار داره) برنامه باید به صورت لحظه ای عمل کنه (یعنی هر تغییری که مدیر بده باید بقیه اون تغییر رو ببینن) برای این کار برنامه باید بیاد همه ی اطلاعات جدول رو از اول از سمت سرور بخونه تا چک کنه ببینه اطلاعاتی اضافه شده یا نه بعدش اون جدول رو تویه برنامه نمایش بده . همه ی این کار ها زمان بر هستش حالا به نظر شما من از چه روشی استفاده کنم بهتره ؟ خودم از ترد ها استفاده کردم ولی زیاد فرقی نکرد حالا نمیدون چون رویه جنی موشن هستش اینطوریه یا نه رویه گوشی واقعی هم همین طوری هستش ؟!ممنون میشم راهنمایی کنید
این برنامه رو دارم برای یه هتلی میسازم برنامه به این شکله که هر روز باید بیاد چک کنه ببینه کدوم اتاق ها پر هستن هر کدوم رو که پر هست به نسبت اینکه چه کسی اتاق رو رزرو کرده به یک رنگی در میاد یعنی علاوه بر اینکه پروسه گرفتن اطلاعات از سرور زمان بر هستش خوده نمایش این لیست ویو هم زمان بره یعنی ادپتر باید بیاد برای هر خونه چک کنه ببینه چه عددی داخلش هست به نسبت اون عدد یک رنگی با یک اسمی به خونه بده و..
حالا من هر کار میکنم برنامه کند کار میکنه
بلاخره درست شد
برنامه دوتا مشکل داشت 1)کند کار کردن موقع نمایش لیست ویو 2)کند کار کردن موقع دریافت و ارسال اطلاعات به سرور
حل مشکل اول :
تویه ساخت لیست ویو ها باید دقت کنید ببینید که تویه ادپر محاسبه سنگینی انجام ندید که لیست ویو به کندی کار کنه من خودم اومد محاسبات سنگین رو به روشی از ادپتر کشیدم بیرون و فقط نتیجش رو داخل ادپتر نشون دادم
حل مشکل دوم:
برای ارسال و دریافت اطلاعات من از وب سرویس خوده استاد با ترکیبی از چند تردد استفاده میکردم که با پیشنهاد یکی از دوستان از کتابخونه ی volley استفاده کردم که تقریبا سرعت برنامه بهتر شد ولی یه مشکلی که این کتابخونه داشت این بود که اگه شما چند دستور رو به طور همزمان بخواید بهش بدید اصلا معلوم نمیشه کدوم دستور رو اول انجام میده کدوم دستور رو دوم و.. تویه اینترنت گشتم در مورد اولویت بندی درخواست ها چیزای نوشته بود ولی زیاد مفید نبود تا مجبور شدم خودم با استفاده از Handler ها اولویت بندیش رو درست کنم
امیدوارم این چیزای که نوشتم بدرد کسی دیگه ای هم بخوره ممنون از دوستانی که راهنمایی کردن
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .