سب سے عام اینڈرائیڈ آپٹیمائزیشن افسران کی کمی

پلے اسٹور پر موجود ایپس ، لیکن اینڈروئیڈ فورمز پر جاری کردہ آپٹمائزیشن اسکرپٹس عام طور پر نیک نیتی سے ہوتے ہیں ، ایسا صرف اتنا ہوتا ہے کہ ڈویلپر کو غلط اطلاع دی جاسکتی ہے ، یا محض مختلف اصلاح کے اندازوں کے ساتھ تجربہ کیا جاتا ہے۔ بدقسمتی سے ، خاص طور پر 'سبھی میں ایک' کی اصلاح کے اسکرپٹس میں ، ایک قسم کا سنوبال اثر ہوتا ہے۔ تھوڑا سا مٹھی بھر ٹویٹس دراصل کر سکتے ہیں کچھ ، جبکہ اسکرپٹ میں اندازہ لگانے کا ایک اور سیٹ بالکل بھی کچھ نہیں کرسکتا ہے - پھر بھی یہ اسکرپٹس جادو کی گولیوں کے طور پر گزر جاتی ہیں ، بغیر کسی حقیقی تفتیش کے کہ کیا کام کرتا ہے ، اور کیا نہیں۔



اس طرح ، بہت سارے انو ون اصلاحی اسکرپٹ ایک ہی طریقے استعمال کر رہے ہیں ، جن میں سے کچھ مکمل طور پر پرانی یا نقصان دہ ہیں۔ خلاصہ یہ کہ ، 'سب میں ایک' اصلاحی اسکرپٹس کی اکثریت کچھ نہیں ہے لیکن اس کے بارے میں کوئی واضح اندازہ نہیں ہے کہ یہ اصلاحات کس طرح اور کیوں کام کرتی ہیں - استعمال کنندہ اسکرپٹ کو چمکاتے ہیں ، اور دعوی کرتے ہیں کہ ان کی کارکردگی اچانک تیز ہے۔ ( جب حقیقت میں ، یہ ممکنہ طور پر ان کے آلے کو ریبوٹ کرنے کا ایک بہت ہی آسان عمل تھا جس کی وجہ سے کارکردگی میں اضافہ ہوتا ہے ، چونکہ آلہ کی رام کی ہر چیز صاف ہوجاتی ہے) .

اس ایپس کے خصوصی مضمون میں ، ہم “کے لئے کچھ عمومی سفارشات کو اجاگر کریں گے۔ اصلاح ' Android کی کارکردگی ، اور چاہے وہ محض ایک خرافات ہوں ، یا آلہ کی کارکردگی کیلئے جائز موافقت۔



تبادلہ

خرافات کی فہرست کے اوپری حصے میں اینڈروئیڈ سویپ ہے - جو Android کے بارے میں اصلاح کے بارے میں سوچا جانے کے معاملے میں بالکل مضحکہ خیز ہے۔ تبادلہ کرنے کا بنیادی مقصد پیجنگ فائل بنانا اور اس سے منسلک کرنا ہے ، جس سے میموری میں اسٹوریج کی جگہ خالی ہوجائے گی۔ یہ سمجھدار لگتا ہے کاغذ پر ، لیکن یہ واقعی ایک پر لاگو ہوتا ہے سرور ، جس میں تقریبا کوئی تعامل نہیں ہوتا ہے۔



جب آپ اپنے Android فون کا تبادلہ باقاعدگی سے استعمال کرتے ہیں تو ، اس کی وجہ سے ایسی شدید لاگت آسکتی ہے جو کیشے سے گذرنے والی چیزوں سے نکل جاتی ہے۔ تصور کیج. ، مثال کے طور پر ، اگر کوئی ایپلی کیشن کسی گرافک کو ظاہر کرنے کی کوشش کرتا ہے ، جو تبادلہ میں محفوظ ہوتا ہے ، جسے اب کسی اور درخواست کے ساتھ ڈیٹا سویپ رکھ کر جگہ خالی کرنے کے بعد ڈسک کو دوبارہ لوڈ کرنا پڑتا ہے۔ یہ واقعی گندا ہے۔



کچھ اصلاح کے خواہشمند یہ کہہ سکتے ہیں کہ سویپ نے کوئی پریشانی پیش نہیں کی ، لیکن اس سے کارکردگی میں اضافہ ہوتا ہے - یہ اینڈروئیڈ میکانزم میں شامل ہے لو میوموریکلر ، جو باقاعدگی سے فولا ہوا ، اعلی ترجیحی عمل کو ختم کردے گا جو استعمال نہیں ہورہے ہیں۔ ایل ایم کے کو خاص طور پر کم میموری کی صورتحال سے نمٹنے کے لئے ڈیزائن کیا گیا تھا ، اس کی طرف سے درخواست کی گئی ہے kswapd عمل ، اور عام طور پر صارف کی جگہ کے عمل کو مار دیتی ہے۔ اس سے مختلف ہے OOMkiller (میموری سے باہر کا قاتل) ، لیکن یہ مکمل طور پر ایک مختلف عنوان ہے۔

نقطہ کی بات یہ ہے کہ ، ایک آلہ ، مثال کے طور پر ، 1 جی بی ریم کبھی بھی تبادلہ میں ضروری کارکردگی کے اعداد و شمار تک نہیں پہنچ سکتی ہے ، اور اس طرح اینڈرائڈ میں سویپ کی قطعی ضرورت نہیں ہے۔ اس کا نفاذ صرف وقفے سے بھرا ہوا ہے اور اس کی طرف جاتا ہے تنزلی کارکردگی میں ، بہتر بنانے کے بجائے۔

zRAM - پرانی اور کوئی طویل کارگر نہیں

zRAM ، کے لئے آلہ کی اصلاح کے لئے ایک ثابت اور موثر طریقہ ہے پرانے آلات - خیال کریں کہ کٹ کیٹ پر مبنی ڈیوائسز جو صرف 512 ایم بی رام پر کام کررہی ہیں۔ یہ حقیقت یہ ہے کہ کچھ لوگوں میں اصلاحی اسکرپٹ میں ابھی بھی زیرایم ٹویکس شامل ہیں ، یا کسی حد تک جدید اصلاح کے موافقت کے طور پر زیراام کی سفارش کی جاتی ہے ، یہ لوگوں کی ایک مثال ہے جو عام طور پر جدید ترین آپریشنل پروٹوکول پر عمل نہیں کرتے ہیں۔



زیڈ آر ایم کا مقصد داخلہ سطح کے بجٹ رینج ملٹی کور ایس او سی ، جیسے ایم ٹی کے چپ سیٹوں اور 512 MB رام کا استعمال کرنے والے آلات کے لئے تھا۔ بنیادی طور پر ، بہت سستے چینی فون۔ بنیادی طور پر zRAM کیا کرتا ہے وہ یہ ہے کہ خفیہ کاری کے دھارے کے ذریعے دانا کو الگ کیا جائے۔

جب zRAM a کے ساتھ پرانے آلات میں استعمال ہوتا ہے سنگل بنیادی ، یہاں تک کہ اگر اس طرح کے آلات پر زیڈ آر ایم کی سفارش کی جا. تو بھی ، بڑی مقدار میں وقفے پڑتے ہیں۔ یہ بھی KSM ٹکنالوجی کے ساتھ ہوتا ہے ( دانا ایک ہی صفحہ ضم ہوجانا) جو خالی جگہ کے لئے بولی میں ایک جیسے میموری کے صفحات کو جوڑتا ہے۔ حقیقت میں یہ گوگل کی طرف سے تجویز کردہ ہے ، لیکن اس سے پرانے آلات میں زیادہ سے زیادہ وقفیاں ہوجاتی ہیں ، کیونکہ مستقل طور پر متحرک صفحات تکراری صفحات کی تلاش کے لئے میموری سے مستقل طور پر چل رہے ہیں۔ بنیادی طور پر ، اصلاح کے موافقت کو چلانے کی کوشش آلے کو آہستہ آہستہ اور بھی سست کردیتی ہے۔

سیڈر - Android 3.0 کے بعد سے پرانی ہے

اینڈروئیڈ ڈیوس کے درمیان سب سے زیادہ زیر بحث مطلوبہ اصلاح کا ایک مشورہ یہ ہے دیودار ، اور ہمیں یقین ہے کہ کوئی بھی اس موضوع پر ہمیں غلط ثابت کرنے کی کوشش کرسکتا ہے - لیکن پہلے ہمیں سیڈر کی تاریخ کو جانچنے کی ضرورت ہے۔

Android کے لئے سیڈر ایپ

ہاں ، ایسی بڑی تعداد میں اطلاعات ہیں جو انسٹالیشن کے بعد Android کی بہتر کارکردگی کا اعلان کرتی ہیں بہت پرانے Android ڈیوائسز . تاہم ، لوگ جو بھی وجہ سے یقین رکھتے ہیں اس کا مطلب ہے کہ یہ بھی ایک قابل اطلاق اصلاح ہے جدید Android ڈیوائسز ، جو بالکل مضحکہ خیز ہے۔ سیڈر ابھی بھی برقرار ہے اور بطور 'پیش کیا جاتا ہے اس حقیقت جدید ' وقفے میں کمی کا آلہ غلط معلومات کی ایک مثال ہے۔ حالانکہ یہ بیچنے والے کے ڈویلپر کی غلطی نہیں ہے ، یہاں تک کہ ان کے پلے اسٹور صفحے پر بھی نوٹ کیا گیا ہے کہ لوڈ ، اتارنا Android 4.0+ کے بعد سیڈر کم موثر ہے۔ اس کے باوجود کسی بھی وجہ سے ، سیڈر اب بھی جدید لوڈ ، اتارنا Android سسٹم کے لئے اصلاحی مباحثے میں پاپ اپ ہے۔

سیڈر بنیادی طور پر اینڈروئیڈ 3.0 کے لئے کیا کرتا ہے اس مسئلے کا پتہ لگانا ہے جہاں اینڈروئیڈ رن ٹائم انٹروپی کے حصول کے لئے / dev / بے ترتیب / فائل کو فعال طور پر استعمال کرے گا۔ / dev / بے ترتیب / بفر غیر مستحکم ہوجائے گا ، اور اس وقت تک یہ نظام بلاک ہوجائے گا جب تک کہ اس میں مطلوبہ اعداد و شمار کی بھرمار نہ ہو - Android آلہ پر موجود مختلف سینسرز اور بٹنوں جیسی چھوٹی چھوٹی چیزوں کے بارے میں سوچئے۔

سیڈر کے مصنف نے لینکس شیطان لیا rngd ، اور Android کے inastroil کے لئے مرتب کیا تاکہ اس نے بہت تیز اور زیادہ پیش قیاسی / dev / urandom کے راستے سے بے ترتیب ڈیٹا لیا اور انھیں / dev / بے ترتیب / ختم ہونے کی اجازت دیئے بغیر ، ہر سیکنڈ میں dev / بے ترتیب / میں ضم کردیا۔ اس کا نتیجہ ایک ایسا Android سسٹم ہوا جس کو انٹراپی کی کمی کا سامنا نہیں ہوا ، اور اس نے ہموار کارکردگی کا مظاہرہ کیا۔

گوگل نے اینڈرائیڈ 3.0 کے بعد اس بگ کو توڑ دیا ، پھر بھی کسی وجہ سے ، سیڈر ابھی بھی پاپ اپ ہو گیا 'تجویز کردہ موافقت' لوڈ ، اتارنا Android کارکردگی کی اصلاح کے لئے فہرستوں. مزید برآں ، سیڈر ایپ میں ایس ایفکس جیسے کچھ ینالاگ ہیں جن میں سیڈر کی فعالیت شامل ہے ، چاہے وہی استعمال کریں۔ rngd یا متبادل haveged ، یا یہاں تک کہ / dev / urandom اور / dev / بے ترتیب کے درمیان صرف ایک sylink. یہ جدید لوڈ ، اتارنا Android سسٹم کے لئے بالکل بے معنی ہے۔

اس کی بے معنی وجہ یہ ہے کہ نئے Android ورژن تین اہم اجزاء میں / dev / بے ترتیب / استعمال کرتے ہیں۔ libcrypto ، ایس ایس ایل کنیکشن کی خفیہ کاری کیلئے ، ایس ایس ایچ کیز تیار کرنا ، وغیرہ۔ WPA_supplication / hostapd جو WEP / WPA کیز تیار کرتا ہے ، اور آخر میں ، EXT2 / EXT3 / EXT4 فائل سسٹم بنانے میں ID بنانے کے لئے ایک مٹھی بھر لائبریریاں۔

تو جب بیج یا سیڈر پر مبنی اضافہ جدید اینڈرائیڈ آپٹیمائزیشن اسکرپٹس میں شامل ہے ، جو ہوتا ہے اس کا اختتام ہوتا ہے تنزلی آلہ کی کارکردگی میں ، کیونکہ rngd آلہ کو مسلسل بیدار کرے گا اور سی پی یو فریکوئنسی میں اضافے کا سبب بنے گا ، جو یقینا battery بیٹری کے استعمال کو منفی طور پر متاثر کرتا ہے۔

اوڈیکس

لوڈ ، اتارنا Android آلات پر اسٹاک فرم ویئر ہمیشہ اوڈیکس. اس کا مطلب یہ ہے کہ / سسٹم / ایپ / اور / سسٹم / نجی-ایپ / میں پایا گیا APK فارمیٹ میں اینڈروئیڈ ایپ کے معیاری پیکیج کے ساتھ ، .odex توسیع والے ایک ہی فائل کے نام ہیں۔ اوڈیکس فائلوں میں اصلاحی بائیک کوڈ ایپلی کیشنز شامل ہیں جو پہلے سے ہی توثیق کار اور اصلاح کنندہ ورچوئل مشین سے گزر چکی ہیں ، پھر کسی الگ فائل میں درج کی گئی ہیں جیسے کچھ استعمال کریں۔ dexopt آلے

لہذا اوڈیکس فائلوں کا مقصد ورچوئل مشین کو آف لوڈ کرنا اور اوڈیکسڈ ایپلی کیشن کو تیز رفتار لانچنگ کی پیش کش کرنا ہے - منفی پہلو پر ، اوڈیکس فائلیں فرم ویئر میں تبدیلیوں کو روکتی ہیں ، اور اپ ڈیٹ کے ساتھ پریشانی پیدا کرتی ہیں ، لہذا اسی وجہ سے لینج ای او ایس جیسے بہت سے کسٹم ROM تقسیم کیے جاتے ہیں ODEX کے بغیر .

اوڈیکس فائلوں کو تیار کرنا متعدد طریقوں سے کیا جاتا ہے ، جیسے اوڈیکسر ٹول استعمال کرنا - مسئلہ یہ ہے کہ اس کا قطعی طور پر پلیسبو اثر ہے۔ جب جدید اینڈروئیڈ سسٹم / نظام ڈائرکٹری میں اوڈیکس فائلوں کو نہیں ڈھونڈتا ہے ، تو یہ نظام واقعتا ان کو تخلیق کرے گا اور ان کو / نظام / ڈالوک-کیچے / ڈائرکٹری میں رکھے گا۔ یہ بالکل وہی ہو رہا ہے جب ، مثال کے طور پر ، آپ ایک نیا اینڈروئیڈ ورژن چمکاتے ہیں اور اس سے کچھ دیر کے لئے 'مصروف ، آپٹمائزنگ ایپلی کیشنز' کا پیغام ملتا ہے۔

لو ممیوریکلر ٹویٹس

اینڈروئیڈ میں ملٹی ٹاسکنگ دوسرے موبائل آپریٹنگ سسٹم سے اس لحاظ سے مختلف ہے کہ اس کی بنیاد کلاسیکی ماڈل پر ہے جہاں ایپلی کیشنز پس منظر میں خاموشی سے کام کرتی ہیں ، اور بیک گراؤنڈ ایپس کی تعداد پر کوئی پابندی نہیں ہے ( جب تک کسی کو ڈویلپر کے اختیارات میں سیٹ نہیں کیا جاتا ہے ، لیکن عام طور پر اس کے خلاف سفارش کی جاتی ہے) - اس کے علاوہ ، پس منظر پر عمل درآمد میں منتقلی کی فعالیت کو روکا نہیں گیا ہے ، حالانکہ یہ نظام کم میموری کی حالت میں پس منظر کی ایپس کو مارنے کا حق محفوظ رکھتا ہے ( ملاحظہ کریں کہ ہم نے پہلے اس گائیڈ میں کم میوریوری کلر اور میموری سے باہر کے قاتل کے بارے میں کہاں بات کی ہے) .

واپس جانا لو میوموریکلر میکانزم ، اینڈرائڈ محدود مقدار میں میموری اور تبادلہ تقسیم کی کمی کے ساتھ کام کرنا جاری رکھ سکتا ہے۔ صارف ایپلیکیشنز لانچ کرنے اور ان کے مابین سوئچ جاری رکھ سکتا ہے ، اور یہ نظام متحرک کاموں کے لئے میموری کو آزاد کرنے کی کوشش کرنے اور استعمال نہ کرنے کے لئے غیر استعمال شدہ بیک گراؤنڈ ایپس کو خاموشی کے ساتھ ہلاک کردے گا۔

ابتدائی دنوں میں یہ اینڈرائڈ کے لئے انتہائی مفید تھا ، اگرچہ کسی وجہ سے یہ ٹاسک قاتل ایپس کی شکل میں مقبول ہوتا ہے ، جو عام طور پر فائدہ مند سے زیادہ مؤثر ہوتے ہیں۔ ٹاسک قاتل ایپس یا تو مقررہ وقفوں پر جاگتی ہیں ، یا صارف کے ذریعہ چلایا جاتا ہے ، اور بڑی مقدار میں رام کو آزاد کرتے دکھائی دیتے ہیں ، جو ایک مثبت کے طور پر دیکھا جاتا ہے - زیادہ مفت رام کا مطلب ہے تیز آلہ ، ٹھیک ہے؟ تاہم ، لوڈ ، اتارنا Android کے ساتھ ایسا ہی نہیں ہے۔

در حقیقت ، بہت زیادہ مقدار میں مفت رام کا ہونا آپ کے آلے کی کارکردگی اور بیٹری کی زندگی کے لئے نقصان دہ ہوسکتا ہے۔ جب اطلاقات اینڈروئیڈ کی ریم میں ذخیرہ ہوجاتے ہیں تو ، ان کو کال کرنے ، ان کو لانچ کرنے ، وغیرہ میں بہت آسان ہوتا ہے۔ اینڈرائیڈ سسٹم کو ایپ میں سوئچ کرنے کے لئے زیادہ سے زیادہ وسائل وقف کرنے کی ضرورت نہیں ہوتی ہے ، کیوں کہ اس کی یادداشت پہلے ہی موجود ہے۔

اس کی وجہ سے ، ٹاسک-قاتل واقعی میں اتنے مقبول نہیں ہیں جتنے پہلے تھے ، حالانکہ اینڈروئیڈ نوسکھئیے ابھی بھی کسی وجہ سے ان پر انحصار کرتے ہیں ( افسوس کی بات ہے ، معلومات کی کمی . بدقسمتی سے ، ایک نئے رجحان نے ٹاسک-قاتلوں کی جگہ لی ہے ، جس کا رجحان ہے لو میوموریکلر میکانزم ٹیوننگ. یہ مثال کے طور پر ہوگا منفری مینجر ایپ ، اور بنیادی خیال یہ ہے کہ نظام کے پس منظر والے ایپس کو مارنا شروع کردیں اس سے پہلے ہی رام اوورہیڈ میں اضافہ کرنا ہے۔

لہذا مثال کے طور پر ، معیاری ریم سرحدوں پر چلتی ہے - 4، 8، 12، 24، 32، اور 40 Mb، اور جب 40 MB کی مفت اسٹوریج کی جگہ بھر جاتی ہے تو ، کیشڈ ایپس میں سے ایک جو میموری میں بھری ہوئی ہے لیکن نہیں چل رہا ہے ختم کیا جائے گا۔

لہذا بنیادی طور پر ، اینڈرائڈ کے پاس ہمیشہ کم سے کم 40 ایم بی دستیاب میموری موجود ہوگا ، جو اس سے قبل ایک اور ایپلی کیشن کو ایڈجسٹ کرنے کے لئے کافی ہے لو میوموریکلر اس کی صفائی ستھرائی کا عمل شروع ہوتا ہے - جس کا مطلب ہے کہ صارف صارف کے تجربے میں مداخلت کیے بغیر زیادہ سے زیادہ دستیاب رام کی زیادہ سے زیادہ مقدار استعمال کرنے کے لئے ہمیشہ اپنی پوری کوشش کرے گا۔

افسوس کی بات یہ ہے کہ کچھ گھریلو شائقین نے جس چیز کی سفارش کی ہے وہ یہ ہے کہ ایل ایم کے کے اندر آنے سے پہلے ، 100 ایم بی کی قیمت بڑھا دی جائے۔ کھو جانا رام (100 - 40 = 60) ، لہذا بیک اسپیڈ ایپس کو ذخیرہ کرنے کے لئے اس جگہ کو استعمال کرنے کے بجائے ، نظام اس مقدار میں میموری کو برقرار رکھے گا مفت ، اس کے لئے بالکل کوئی مقصد نہیں ہے۔

ایل کے ایم ٹیوننگ مفید ہو سکتا ہے 512 رام والے زیادہ پرانے آلات کیلئے ، لیکن اب ان کے پاس کون ہے؟ 2 جی بی جدید 'بجٹ رینج' ہے ، یہاں تک کہ 4 جی بی ریم آلات آج کل 'درمیانی فاصلے' کے طور پر دیکھ رہے ہیں ، لہذا ایل ایم کے کی ٹویٹس واقعی پرانی اور بیکار ہیں۔

I / O ٹویٹس

اینڈروئیڈ کے ل optim بہت ساری اصلاحی اسکرپٹس میں آپ کو اکثر ایسے مواقع ملیں گے جن میں I / O سب سسٹم کو ایڈریس کیا گیا ہے۔ مثال کے طور پر ، پر ایک نظر ڈالیں تھنڈر بولٹ! اسکرپٹ ، جس میں یہ لکیریں ہیں:

بازگشت 0> $ i / قطار / گھماؤ؛ بازگشت 1024> $ i / قطار / nr_requosts؛

پہلی لائن ایس ایس ڈی سے نمٹنے کے لئے I / O تخسوچک ہدایات دے گی ، اور دوسری قطار I / O کی زیادہ سے زیادہ سائز کو 128 سے بڑھا کر 1024 کردی جائے گی - کیونکہ $ i متغیر میں بلاک ڈیوائسز کے درخت کی راہ ہوتی ہے / sys ، اور اسکرپٹ ایک لوپ میں چلتا ہے۔

اس کے بعد ، آپ کو سی ایف کیو شیڈیولر سے متعلق ایک لائن مل جائے گی۔

بازگشت 1> $ i / قطار / iosched / back_seek_penalty؛ بازگشت 1> $ i / قطار / iosched / low_latency؛ بازگشت 1> $ i / قطار / iosched / slice_idle؛

اس کے بعد مزید لکیریں آئیں جن کا تعلق دوسرے منصوبہ سازوں سے ہے ، لیکن آخر کار ، پہلے دو کمانڈ بے معنی ہیں کیونکہ:

ایک جدید لینکس دانا یہ سمجھنے کے قابل ہے کہ وہ کس طرح کے اسٹوریج میڈیم کے ساتھ کام کر رہا ہے جو بطور ڈیفالٹ ہے۔

ایک طویل ان پٹ آؤٹ پٹ قطار ( جیسے 1024) ایک جدید اینڈروئیڈ ڈیوائس پر بیکار ہے ، حقیقت میں ڈیسک ٹاپ پر بھی اس کا کوئی مطلب نہیں ہے - اس کی صرف سفارش کی جاتی ہے ہیوی ڈیوٹی سرورز . آپ کا فون ہیوی ڈیوٹی لینکس سرور نہیں ہے۔

اینڈروئیڈ ڈیوائس کے ل the ، ان پٹ آؤٹ پٹ میں عملی طور پر کوئی ایپلی کیشنز ترجیح نہیں دی جاتی ہے اور نہ ہی کوئی میکینیکل ڈرائیور ، لہذا بہترین منصوبہ ساز نوپ / فیفو-قطار ہے ، لہذا اس قسم کا شیڈیولر ' موافقت ” I / O سب سسٹم کے لئے کچھ خاص یا معنی خیز نہیں کر رہا ہے۔ در حقیقت ، ان تمام ملٹی اسکرین لسٹ کمانڈوں کی جگہ ایک آسان سائیکل نے بہتر طریقے سے لے لیا ہے۔

میرے لئے / سیس / بلاک / ملی میٹر *؛ کیا باز گشت کریں> $ i / قطار / نظام الاوقات 0> $ i / قطار / iostats

اس سے I / O کے اعداد و شمار کے جمع ہونے سے تمام ڈرائیوز کے لئے نمبر شیڈولر کو قابل بنائے گا ، جس کا کارکردگی پر مثبت اثر پڑنا چاہئے ، حالانکہ یہ ایک بہت ہی چھوٹا اور تقریبا مکمل طور پر نہ ہونے کے برابر ہے۔

ایک اور بیکار I / O موافقت جو اکثر کارکردگی کی اسکرپٹ میں پائی جاتی ہے وہ ہے 2MB تک SD کارڈ کے لئے پڑھنے والے آگے کی اقدار۔ اس سے پہلے کہ ایپ اس ڈیٹا تک رسائی کی درخواست کرے ، اس سے قبل میڈیا سے پڑھنے والے ابتدائی ڈیٹا کو پڑھنے کے لئے آگے کا طریقہ کار ہے۔ لہذا بنیادی طور پر ، دانا یہ جاننے کی کوشش کرے گا کہ مستقبل میں کون سے اعداد و شمار کی ضرورت ہوگی ، اور اسے رام میں پہلے سے بوجھ ڈال دیا جائے گا ، جس سے واپسی کا وقت کم ہونا چاہئے۔ یہ کاغذ پر بہت اچھا لگتا ہے ، لیکن پڑھنے والے الگورتھم زیادہ کثرت سے ہوتا ہے غلط ، جو ان پٹ آؤٹ پٹ کے مکمل طور پر غیر ضروری کاروائیوں کا باعث بنتا ہے ، نہ کہ کسی اعلی رام کی کھپت کا ذکر کریں۔

RAID-arrays میں 1 سے 8 MB کے درمیان اعلی پڑھنے والے اقدار کی سفارش کی جاتی ہے ، لیکن Android ڈیوائسز کے لئے ، 128 KB کی پہلے سے طے شدہ قیمت چھوڑنا ہی بہتر ہے۔

ورچوئل میموری میموری مینجمنٹ سسٹم

ایک اور عام 'اصلاح' تکنیک ورچوئل میموری میموری مینجمنٹ سب سسٹم کو تیار کررہی ہے۔ اس میں عام طور پر صرف دو دانا متغیرات ، vm.dirty_background_ratio اور vm.dirty_ratio کو نشانہ بنایا جاتا ہے ، جو 'گندا' ڈیٹا کو محفوظ کرنے کے لئے بفر کے سائز کو ایڈجسٹ کرنے کے لئے ہیں۔ گندا اعداد و شمار عام طور پر ایسا ڈیٹا ہوتا ہے جسے ڈسک پر لکھا جاتا ہے ، لیکن میموری میں اور ابھی بھی موجود ہے اور ڈسک پر لکھنے کے منتظر ہیں۔

لینکس ڈسٹروز اور اینڈروائس دونوں میں VM مینجمنٹ سب سسٹم میں مخصوص موافقت کی اقدار اس طرح ہوں گی۔

vm.dirty_ پس منظر_راٹیو = 10 vm.dirty_ratio = 20

تو جو کام کرنے کی کوشش کرتا ہے وہ یہ ہے کہ جب رام کی کل مقدار میں سے 10٪ گندا ڈیٹا بفر ہوتا ہے تو وہ بیدار ہوجاتا ہے pdflush بہاؤ اور ڈسک پر ڈیٹا لکھنا شروع کردیتا ہے - اگر ڈسک پر ڈیٹا ریکارڈ کرنے کا عمل ہوگا بہت شدید ، بفر میں اضافہ جاری رہے گا ، اور جب یہ دستیاب رام کے 20٪ تک پہنچ جائے گا ، تو یہ نظام بعد کے تحریری عمل کو ہم وقت ساز حالت میں بدل جائے گا۔ اس کا مطلب ہے کہ ڈسک ایپلی کیشن کو لکھنے کا کام ہوگا بلاک ، جب تک ڈیٹا کو ڈسک پر لکھا نہیں جاتا ہے (AKA ‘وقف’)۔

آپ کو کیا سمجھنا چاہئے وہ یہ ہے کہ یہاں تک کہ بفر سائز 10 reach تک نہیں پہنچتا ، 30 سیکنڈ کے بعد سسٹم خود بخود پی ڈی فلش میں کک ہوجائے گا۔ 10/20 کا امتزاج کافی معقول ہے ، مثال کے طور پر کسی آلہ پر 1GB رام کے ساتھ یہ رام 100 / 200MB کے برابر ہوگا ، جو پھٹ ریکارڈوں کے لحاظ سے کافی زیادہ ہے جہاں سسٹم NAND میں اسپیڈ ریکارڈ اکثر اسپیڈ ریکارڈ کے نیچے رہتا ہے۔ یادداشت ، یا ایسڈی کارڈ ، جیسے ایپس انسٹال کرتے وقت یا کمپیوٹر سے فائلوں کی کاپی کرتے وقت۔

کسی وجہ سے ، اسکرپٹ مصنفین اس قدر کو مضحکہ خیز نرخوں تک بڑھانے کی کوشش کرتے ہیں۔ مثال کے طور پر ہم اس میں تلاش کرسکتے ہیں ایکسپلکس اصلاح اسکرپٹ جس کی شرح 50/90 تک ہے۔

sysctl -w vm.dirty_ پس منظر_راٹیو = 50 sysctl -w vm.dirty_ratio = 90

1 جی بی میموری والے آلہ پر ، اس کی وجہ سے گندے بفر پر 500/900 MB کی حد مقرر ہوتی ہے ، جو اینڈروئیڈ ڈیوائس کے لئے مکمل طور پر بیکار ہے ، کیونکہ یہ صرف اس کے تحت کام کرے گا۔ ڈسک پر مستقل ریکارڈنگ - ایسی چیز جو صرف ایک ہیوی لینکس سرور پر ہوتا ہے۔

تھنڈر بولٹ! اسکرپٹ میں زیادہ معقول قدر استعمال کی جاتی ہے ، لیکن مجموعی طور پر ، اس کی کافی حد تک بے معنی بات ہے:

اگر ['$ میم' -لٹ 524288]؛ پھر sysctl -w vm.dirty_background_ratio = 15؛ sysctl -w vm.dirty_ratio = 30؛ ایلیف ['$ میم' -لٹ 1049776] then پھر sysctl -w vm.dirty_ پس منظر_راٹیو = 10؛ sysctl -w vm.dirty_ratio = 20؛ else sysctl -w vm.dirty_background_ratio = 5؛ sysctl -w vm.dirty_ratio = 10؛ فائی

پہلی دو کمانڈز 512 ایم بی ریم کے سمارٹ فونز پر چلتی ہیں ، دوسری - 1 جی بی کے ساتھ ، اور دیگر - 1 جی بی سے زیادہ کے ساتھ۔ لیکن حقیقت میں پہلے سے طے شدہ ترتیبات کو تبدیل کرنے کی ایک ہی وجہ ہے۔ ایک آلہ جس میں بہت سست داخلی میموری یا میموری کارڈ ہوتا ہے۔ اس صورت میں متغیرات کی اقدار کو پھیلانا معقول ہے ، یعنی اس طرح کچھ بنانا:

sysctl -w vm.dirty_ پس منظر_راٹیو = 10 sysctl -w vm.dirty_ratio = 60

پھر ، جب ایک اضافی نظام آپریشن لکھتا ہے ، بغیر ڈسک پر ڈیٹا ریکارڈ کرنے کے ، آخری وقت تک ہم وقت سازی کے موڈ میں تبدیل نہیں ہوتا ہے ، جس کی وجہ سے ایپلی کیشنز ریکارڈنگ کے وقت وقفے کو کم کرسکتے ہیں۔

اضافی بیکار تبصرے اور کارکردگی کے موافقت

وہاں بہت زیادہ 'اصلاحات' ہیں جو واقعتا کچھ نہیں کرتی ہیں۔ ان میں سے بیشتر کا بس کوئی اثر نہیں ہوتا ہے ، جبکہ دوسروں میں بہتری آسکتی ہے کچھ کارکردگی کا پہلو ، جبکہ دوسرے طریقوں سے ڈیوائس کو کم کرتے ہوئے ( عام طور پر یہ بیٹری ڈرین کے خلاف کارکردگی پر ابلتا ہے) .

یہاں کچھ اضافی مقبول اصلاحات ہیں جو اینڈرائیڈ سسٹم اور ڈیوائس کے لحاظ سے کارآمد ہوسکتی ہیں یا نہیں ہوسکتی ہیں۔

  • ایکسلریشن - کارکردگی کو بہتر بنانے کے لئے ایک چھوٹا سا ایکسلریشن اور انڈرولٹنگ - تھوڑی بیٹری کی بچت کرتا ہے۔
  • ڈیٹا بیس کی اصلاح - نظریہ اس میں چاہئے آلے کی کارکردگی میں بہتری لائیں ، لیکن اس کا شبہ ہے۔
  • Zipalign - ستم ظریفی یہ ہے کہ ، اسٹور میں موجود APK-فائل کے اندر اندر بلٹ ان Android SDK فیچر مواد کی سیدھ کے باوجود بھی آپ ڈھونڈ سکتے ہیں کہ بہت سارے سوفٹ ویئر zipalign کے ذریعے منتقل نہیں ہوتے ہیں۔
  • غیر ضروری سسٹم سروسز کو غیر فعال کریں ، غیر استعمال شدہ نظام اور شاذ و نادر استعمال شدہ تیسری پارٹی کے استعمال کو ختم کریں۔ بنیادی طور پر ، بلاٹ ویئر کو ان انسٹال کرنا۔
  • مخصوص آلہ کی اصلاح کے لiz اپنی مرضی کے مطابق دانا (دوبارہ ، تمام نیوکلئ اتنے اچھے نہیں ہیں)۔
  • پہلے ہی بیان کیا I / O شیڈیولر نوپ۔
  • سنترپتی الگورتھم ٹی سی پی ویسٹ ووڈ - وائرلیس نیٹ ورکس کے لئے پہلے سے طے شدہ Android کیوبک میں زیادہ موثر طریقے سے استعمال کیا جاتا ہے ، جو اپنی مرضی کے مطابق دانا میں دستیاب ہے۔

بیکار کی ترتیبات build.prop

ایکس ڈی اے ڈویلپرز فورم کے LaraCraft304 نے ایک مطالعہ کیا ہے اور معلوم کیا ہے کہ / ماہرین 'استعمال کرنے کے لئے سفارش کی گئی ایک متاثر کن تعداد / سسٹم / بلڈ ۔پروپ سیٹنگ ماخذ AOSP اور CyanogenMod میں موجود نہیں ہے۔ فہرست یہ ہے:

ro.ril.disable.power.collapse ro.mot.eri.losalert.delay ro.config.hw_fast_dormancy ro.config.hw_power_s بچتا ونڈوز mgr.max_events_per_sec persist.cust.tel.eons ro.max.fling_velocity ro.ity.ling. kernel.checkjni dalvik.vm.verify-bytecode debug.performance.tuning video.accelerate.hw ro.media.dec.jpeg.memcap ro.config.nocheckin پروفائلr.for_disable_ulog profiler.for_disable_err_rpt ersist_Sd.Jod.utome
ٹیگز انڈروئد ترقی 12 منٹ پڑھا