basam2012


 
الرئيسيةالرئيسية  بحـثبحـث  الأعضاءالأعضاء  المجموعاتالمجموعات  التسجيلالتسجيل  دخولدخول  مركز تحميل الملفات  راسلونا  


هذه الرسالة تفيد أنك غير مسجل .

و يسعدنا كثيرا انضمامك لنا ...

للتسجيل اضغط هـنـا


شاطر | 
 

 [توضيح] الذاكره الداخليه app2sd, app2sd+ , data2sd

اذهب الى الأسفل 
كاتب الموضوعرسالة




عدد المواضيع : 53382
تاريخ التسجيل : 01/01/1970

مُساهمةموضوع: [توضيح] الذاكره الداخليه app2sd, app2sd+ , data2sd   السبت مارس 17, 2012 8:20 pm

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

ارتأيت ان اكتب هذا الموضوع لتوضيح بعض المفاهيم المتعلقه بذاكره الاجهزه الداخليه

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

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

الذاكره الداخليه: هي الذاكره المدمجه بالهاتف من المصنع وهي محدوده بحجم معين مثلا 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 يحل اغلب المشاكل المتعلقه بالذاكره
الداخليه من خلال نقل ما سبق للبارتشن الذي يتم انشاؤه على الذاكره
الخارجيه

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

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

اتمنى ان اكون قد وفقت بشرح الموضوع بشكل سهل وسلس، حتى تعم الفائده للجميع
اضافات الزملاء تعليقاتهم تفرحني

قد اكون اخطأت في شرح شيء معين فأرجو ممن يجد اي خطأ في الشرح اعلاه ان يسعدني بتعليقه الكريم ويوضح لي وللاخوه خطأي.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
[توضيح] الذاكره الداخليه app2sd, app2sd+ , data2sd
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
basam2012 :: قسم الهواتف :: ●∫Android World-
انتقل الى: