loading...

اخبار برنامه نويسي

اخبار برنامه نويسي

بازدید : 282
11 زمان : 1399:2

هر زمان كه يك كامپوننت راه اندازي مي شود، سيستم اندرويد به صورت خودكار يك آبجكت application ايجاد مي كند كه اين آبجكت تحت يك فرايند جديد با ID منحصربفرد و مختص به يك كاربر خاص ايجاد مي شود. حتي اگر برنامه نويس آبجكت application را در فايل تنظيمات (AndroidManifest.xml)، در تگ application مشخص نكند، سيستم اندرويد به صورت پيش فرض يك نمونه از كلاس Application (همان آبجكت application) ايجاد مي كند (اين آبجكت بيشتر براي نگهداري وضعيت و اطلاعات سراسري اپليكيشن مورد استفاده قرار مي گيرد).
آبجكت ذكر شده يك سري توابع مربوط به مديريت lifecycle ارائه مي دهد كه در زير به هريك همراه با عملكرد آن اشاره مي كنيم:

  • onCreate() – اين متد قبل از اينكه اولين كامپوننت هاي اپليكيشن راه اندازي شوند، فراخواني مي گردد. به عبارت ديگر اين متد يك تابع callback است و هنگامي كه activity براي نخستين بار اجرا مي شود، فراخواني مي گردد.
  • onLowMemory() – زماني صدا خورده مي شود كه كل سيستم با كمبود حافظه مواجه شده و فرايندهاي در حال اجرا يا فعال مي بايست ميزان استفاده ي خود از حافظه را كاهش دهند. سيستم اندرويد با فراخواني اين تابع به اپليكيشن دستور مي دهد كه بايد حافظه را بهينه استفاده كرده و ميزان استفاده ي خود را تا حد امكان محدود كند. شما اين متد را بايستي زماني پياده سازي كنيد كه لازم باشد cache يا ديگر منابع غير ضروري كه برنامه اشغال كرده را آزاد سازي نماييد.
  • onTrimMemory() – اين متد زماني صدا خورده مي شود كه سيستم عامل احساس كند كه فرايند بايد ميزان استفاده ي خود از حافظه را كاهش دهد. اين اتفاق (براي مثال) زماني مي افتد كه فرايند در وضعيت background قرار گرفته باشد و در اين ميان حافظه ي كافي براي فعال نگه داشتن تعداد دلخواه فرايند پس زمينه اي وجود ندارد. به عبارت ديگر، اين متد زماني فراخوانده مي شود كه سيستم اندرويد از اپليكيشن درخواست استفاده ي بهينه از حافظه/كاهش استفاده از آن را داشته باشد. اين متد پارامترهايي دارد كه از وضعيت جاري اپليكيشن خبر مي دهند. براي مثال، ثابت TRIM_MEMORY_MODERATE بيانگر اين است كه فرايند در اواسط ليست LRU قرار دارد. در اين شرايط طبيعتا آزاد سازي حافظه به سيستم كمك مي كند تا ديگر فرايندهاي در حال اجرا را جهت بهبود كارايي كلي سيستم، در انتهاي ليست مذكور نگه دارد.
  • onTerminate() – تنها به منظور تست در محيط شبيه ساز بكار رفته و به هيچ وجه در بستر اجرا نهايي (محيط production) اپليكيشن فراخواني نمي شود.
  • onConfigurationChanged() – اين متد زماني فراخوانده مي شود كه كامپوننت شما در حال اجرا است و در اين حين تنظيمات و configuration دستگاه تغيير مي كند.

ازم به توضيح است كه آبجكت application قبل از راه اندازي هر كامپوننتي ايجاد شده و حداقل تا زماني كه كامپوننت ديگري از اپليكيشن راه اندازي نشده، به اجرا ادامه مي دهد.

هر زمان كه يك كامپوننت راه اندازي مي شود، سيستم اندرويد به صورت خودكار يك آبجكت application ايجاد مي كند كه اين آبجكت تحت يك فرايند جديد با ID منحصربفرد و مختص به يك كاربر خاص ايجاد مي شود. حتي اگر برنامه نويس آبجكت application را در فايل تنظيمات (AndroidManifest.xml)، در تگ application مشخص نكند، سيستم اندرويد به صورت پيش فرض يك نمونه از كلاس Application (همان آبجكت application) ايجاد مي كند (اين آبجكت بيشتر براي نگهداري وضعيت و اطلاعات سراسري اپليكيشن مورد استفاده قرار مي گيرد).
آبجكت ذكر شده يك سري توابع مربوط به مديريت lifecycle ارائه مي دهد كه در زير به هريك همراه با عملكرد آن اشاره مي كنيم:

  • onCreate() – اين متد قبل از اينكه اولين كامپوننت هاي اپليكيشن راه اندازي شوند، فراخواني مي گردد. به عبارت ديگر اين متد يك تابع callback است و هنگامي كه activity براي نخستين بار اجرا مي شود، فراخواني مي گردد.
  • onLowMemory() – زماني صدا خورده مي شود كه كل سيستم با كمبود حافظه مواجه شده و فرايندهاي در حال اجرا يا فعال مي بايست ميزان استفاده ي خود از حافظه را كاهش دهند. سيستم اندرويد با فراخواني اين تابع به اپليكيشن دستور مي دهد كه بايد حافظه را بهينه استفاده كرده و ميزان استفاده ي خود را تا حد امكان محدود كند. شما اين متد را بايستي زماني پياده سازي كنيد كه لازم باشد cache يا ديگر منابع غير ضروري كه برنامه اشغال كرده را آزاد سازي نماييد.
  • onTrimMemory() – اين متد زماني صدا خورده مي شود كه سيستم عامل احساس كند كه فرايند بايد ميزان استفاده ي خود از حافظه را كاهش دهد. اين اتفاق (براي مثال) زماني مي افتد كه فرايند در وضعيت background قرار گرفته باشد و در اين ميان حافظه ي كافي براي فعال نگه داشتن تعداد دلخواه فرايند پس زمينه اي وجود ندارد. به عبارت ديگر، اين متد زماني فراخوانده مي شود كه سيستم اندرويد از اپليكيشن درخواست استفاده ي بهينه از حافظه/كاهش استفاده از آن را داشته باشد. اين متد پارامترهايي دارد كه از وضعيت جاري اپليكيشن خبر مي دهند. براي مثال، ثابت TRIM_MEMORY_MODERATE بيانگر اين است كه فرايند در اواسط ليست LRU قرار دارد. در اين شرايط طبيعتا آزاد سازي حافظه به سيستم كمك مي كند تا ديگر فرايندهاي در حال اجرا را جهت بهبود كارايي كلي سيستم، در انتهاي ليست مذكور نگه دارد.
  • onTerminate() – تنها به منظور تست در محيط شبيه ساز بكار رفته و به هيچ وجه در بستر اجرا نهايي (محيط production) اپليكيشن فراخواني نمي شود.
  • onConfigurationChanged() – اين متد زماني فراخوانده مي شود كه كامپوننت شما در حال اجرا است و در اين حين تنظيمات و configuration دستگاه تغيير مي كند.

ازم به توضيح است كه آبجكت application قبل از راه اندازي هر كامپوننتي ايجاد شده و حداقل تا زماني كه كامپوننت ديگري از اپليكيشن راه اندازي نشده، به اجرا ادامه مي دهد.

نظرات این مطلب

تعداد صفحات : 2

درباره ما
موضوعات
آمار سایت
  • کل مطالب : 32
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • بازدید امروز : 5
  • بازدید کننده امروز : 1
  • باردید دیروز : 3
  • بازدید کننده دیروز : 0
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 6
  • بازدید ماه : 77
  • بازدید سال : 263
  • بازدید کلی : 11795
  • <
    پیوندهای روزانه
    آرشیو
    اطلاعات کاربری
    نام کاربری :
    رمز عبور :
  • فراموشی رمز عبور؟
  • خبر نامه


    معرفی وبلاگ به یک دوست


    ایمیل شما :

    ایمیل دوست شما :



    کدهای اختصاصی