توضيح للذاكرة الداخلية للهواتف في اندرويد ,اوapp2sd, app2sd+ , data2sd

http://www.mrgadget.com.au/catalog/images/sandisk_8GB_micro_SD_hc.gif

السلام عليكم ورحمه الله

  توضيح لمفاهيم المتعلقه بذاكره الاجهزه الداخليه
  وارتباطها بتثبيت البرامج على الهاتف ونقلها للذاكره الخارجيه. والاساليب المتبعه لتوفير مساحه على الذاكره الداخليه للاندرويد

اولا: مفاهيم عامه:

الذاكره الداخليه: هي الذاكره المدمجه بالهاتف من المصنع وهي محدوده بحجم معين مثلا 512 ميجا ولا يمكن زيادتها.

الذاكره الخارجيه: هي عباره عن بطاقه ذاكره توضع في الهاتف ويمكن استعمالها لعده اغراض من تخزين صور وبيانات للبرامج مثل الخرائط. ويمكن استعمال اي بطاقه تتوافق مع الجهاز ولا تتجاوز حده الاقصى للاستيعاب.

نظام الاندرويد:

 
نظام الاندرويد مصمم على نواه اللينوكس ، يتم تنصيب النظام كاملا على الذاكره الداخليه للجهاز، (عندما تنصب روم معينه) فإنه يتم تخزينها على الذاكره الداخليه.

في الاندرويد هناك شيء اسمه Dalvik فما هو؟


هو برنامج مبني على لغه الجافا ويقوم بدور ما يسمى virtual machine بمعنى انه يقوم بترجمه وتشغيل وتحسين اداء البرامج التي تقوم بتنصيبها من صيغه APK على هاتفك المحمول، وينتج عنه ما يسمى
Dalvik Cache وهي ملفات وبيانات مرتبطه بكل برنامج تقوم بتثبيته وتشغيله على هاتفك وهذه البيانات ايضا تخزن على الذاكره الداخليه.

في الاندرويد هناك قسم (بارتشن) partition اسمه /data
مهمته تخزين البيانات للبرامج واي شيء متعلق بنفس نظام التشغيل وهذا كذلك مخزن على الذاكره الداخليه.

في الاندرويد: عندما تنصب برنامج APK فانه يتم تخزينه على الذاكره الداخليه، انا اتكلم كبرنامج وعمليه تنصيب له، فقد يكون معه بيانات مرتبطه توضع على الذاكره الخارجيه لكن البرنامج نفسه موجود على الذاكره الداخليه

اكثر من يهمه الكلام التالي ربما اصحاب اجهزه ديزاير لان ذاكرته الداخليه قليله نسبيا وبعد تنصيب الروم مثلا وانزال بعض البرامج تصبح بوضع حرج من انخفاض مستوى الذاكره الداخليه للاسباب التي ذكرتها سابقا.

الحلول الموجوده: كما قلنا لا يمكن زياده الذاكره الداخليه، لهذا فان الحلول الموجوده هي كيفيه توفير مساحه اكبر على الذاكره الداخليه.

الحلول الموجوده تنقسم لجزئين من حيث المصدر:

1- حلول من شركه جوجل.
بدأت جوجل بدعم ما يسمى نقل البرامج على البطاقه الخارجيه (الذاكره) وبدأت هذه الميزه من الاصدار 2.2 وما بعده، لكن هذه الميزه مرتبطه بالبرنامج نفسه، هل هو قابل للنقل ام لا؟ وهذا يتم خلال مرحله البرمجه من قبل المبرمج نفسه، بأن يفعل هذه الخاصيه لبرنامجه لكي يتمكن الاندرويد من نقله عند طلب المستخدم ذلك (بعد تثبيت البرنامج) ولا يحتاج الى صلاحيات روت حيث انها ميزه من نفس النظام سلبيته انه لا ينقل كل البرامج بشكل عام كذلك لا ينقل كل بيانات البرنامج فهو نوعا ما ليس مجديا بشكل ملحوظ.

ويوجد ايضا للهواتف التي تعمل بنظام 2.2 فقط حل من خلال كتابه امر معين سواء باستعمال ال android-sdk او من خلال ال terminal المثبت على الهاتف، والامر هو


كود:
pm setInstallLocation 2

هذا الحل يحتاج صلاحيات روت وهو يحدد للهاتف ان تنزيل البرامج على الذاكره الخارجيه (يتم النقل اثناء التثبيت)، كما انه يوجد برامج في الماركيت تقوم بهذا العمل من خلال واجهه سهله الاستخدام لمن لا يستطيعون تنفيذ الامر بالطرق السابقه
ابحث عن SetInstallLocation في الماركيت، و
سلبيته كذلك انه لا ينقل كل البرامج بشكل عام كذلك لا ينقل كل بيانات البرنامج فهو نوعا ما ليس مجديا بشكل ملحوظ

مشكله هذا الحل انه فقط مخصص للبرامج اي انه يحل جزء من المشكله التي ذكرناها سابقا، حيث يبقى موضوع الكاش والداتا بارتشن.

2- حلول من مطورين الانظمه المفتوحه (اشخاص مستقلين)
جميع الحلول تحتاج صلاحيات روت
بدأ المطورون بايجاد حلول لهذه المشاكل بالتدريج، فكان اول الحلول:

app2sd: وهو اختصار ل application to sdcard اي البرامج على الذاكره الخارجيه. كيف يعمل؟

كلنا نعرف الاقسام (بارتشن) في الكومبيوتر العادي.. C, D وهكذا.
فكره هذا الحل انه يعتمد على تقسيم بطاقه الذاكره لقسمين، احدهما يبقى بالوضع العادي fat32 ، والاخر يتم تحويله لنظام ملفات اسمه ext سواء كان ext3 او ext4
وهو نظام الملفات المعتمد من لينوكس.

بعد ذلك يتم تغير اعدادات معينه بالنظام (ذات مستوى منخفض) يعني ليست من الاعدادات التي تشاهدها في القوائم، مهمه هذا التعديل ان يخبر نظام الاندرويد ان البطاقه الخارجيه لديها بارتشن من نوع ext وانك يا اندرويد ستستعمله لتخزين البرامج المثبته.

هذا الحل جيد وينقل البرنامج مع اغلب بياناته وهو مجدي نوعا ما... لكن ماذا عن ال
Dalvik Cache? يبقى هنا سؤال جديد...

من هنا جاء الحل الثاني وهو تطوير للحل الاول واطلق عليه

+app2sd اي المحسن ان صح التعبير، وما يميز هذا الحل انه يقوم بالعمل السابق من استعمال البارتشن ونقل البرامج .. كذلك فهو ينقل ال Dalvik Cache الى البطاقه الخارجيه على البارتشن المذكور سابقا.

بهذا يكون تم حل مشكلتين وزادت المساحه المتوفره على الذاكره الداخليه

يبقى موضوع ال /data الذي ذكرناه، وهو بارتشن الداتا على الاندرويد والذي يستعمله النظام لنفسه وللبرامج كذلك.

ومن هنا جاء الحل الثالث وهو ما يسمى

data2ext او data2sd:
ووظيفته اتوقع واضحه ومفهومه وهو نقل البارتشن /data من الذاكره الداخليه الى الخارجيه، يحتاج هذا الحل لبطاقه ذاكره سريعه من الفئه 6 فما فوق حتى تحصل على نتائج ممتازه ان شاء الله.

وبهذا فان استعمال app2sd+ و data2sd يحل اغلب المشاكل المتعلقه بالذاكره الداخليه من خلال نقل ما سبق للبارتشن الذي يتم انشاؤه على الذاكره الخارجيه

هناك بعض الرومات تأتي مدمج معها الحلول السابقه (كلها او بعضها) كما ويمكن تثبيت الحلول السابقه بشكل منفرد بعد تثبيت الروم اذا لم تكون موجوده بها ايضا


Previous
Next Post »

3 التعليقات

Write التعليقات
غير معرف
AUTHOR
5 مارس، 2012 12:57 ص delete

lol

Reply
avatar
غير معرف
AUTHOR
18 أبريل، 2012 12:11 ص delete

السلام عليكم
جزاك الله خيرا على التوضيح وصراحة كنت أتسآل كثيرا عن هذا الموضوع ولكن الآن زال الابهام.

كيف أطبق هذه الطريقة على هاتفي ؟
علما ان هاتفي هو Samsung GT-S5660

وشكرا جزيلا

Reply
avatar
ahmed muslim
AUTHOR
18 أبريل، 2012 4:24 ص delete

حمل هذا البرنامج من الماركت برنامج

https://play.google.com/store/apps/details?id=com.curvefish.apps.movetosd&feature=search_result

Reply
avatar

ضفني على Google+