আমার কেন ডালভিক ক্যাশে মুছতে হবে?


46

আমি যখন কোনও কাস্টম রম আপডেট করছি, ডালভিক ক্যাশে মুছার জন্য সর্বদা একটি নির্দেশনা রয়েছে । এটি অগত্যা হওয়ার কারণ আমি দেখছি না।

সিস্টেমটি বুট করার সময় লগক্যাটটি দেখছি আমি স্পষ্ট দেখতে পাচ্ছি যে কোনও অ্যাপ্লিকেশন পরিবর্তিত হলে, এর dexফাইলটি অবৈধ এবং তারপরে পুনরায় জেনারেট হয়। তবুও আমি যখনই কোথাও এটি উল্লেখ করি তখন আমার নীরবতার সাথে সাক্ষাত হয়। যেন না কিছু রম বিকাশকারীও এ সম্পর্কে অবগত এবং তারা কেবল এটি করছে কারণ অন্য প্রত্যেকে করে।

সুতরাং প্রশ্নগুলি:

  • এমন কোনও অ্যান্ড্রয়েড সংস্করণ ছিল যেখানে বুট করার সময় ডালভিক ফাইলগুলি অকার্যকর হয়নি?
  • সিস্টেমটি যে কাজটি করার কথা বলেছে তা করার পরিবর্তে এটি নিজে করার কোনও সুবিধা আছে কি?

একটি আদর্শ উত্তরে প্রাসঙ্গিক কোডের রেফারেন্স অন্তর্ভুক্ত থাকবে, সুতরাং পরের বার যখন আসবে তখন আমার কাছে একটি রেফারেন্স থাকবে।

উত্তর:


43

আপনার প্রশ্নের উত্তর দিতে:

  • ডালভিক বুটে অকার্যকর হয়নি এমন কোনও অ্যান্ড্রয়েড সংস্করণ সম্পর্কে অবগত নই। হতে পারে প্রাথমিক সংস্করণ 1.0 এ ছিল, আমি সত্যিই জানি না, ইক্লেয়ার, ফ্রয়ে, জিনজারব্রেড, আইসক্রিম স্যান্ডউইচ পেরিয়েছি। আপনাকে উত্স গাছটি অনুসন্ধান করে এটিকে আবার কাপকেক বা ডোনট (যথাক্রমে 1.5 এবং 1.6) এ পুনরায় পাঠাতে হবে need

  • বিস্তারিত কারণ :)

কারণ ওয়াইপ ক্যাশে ব্যবহার করা আবশ্যক, কারণ সিস্টেম APK গুলি সহ সব APK গুলি, একটি আছে Dex এটি সংযুক্ত ফাইলটি যখন রম প্রথমবারের আপ বুট করা হলে, Android এর Dalvik প্রতিটি মাধ্যমে যায় এবং যারা APK গুলি প্রতি এক, এবং নিষ্কর্ষ এটি থেকে ডেক্স ফাইলটি এটিকে ক্যাশে রাখুন এবং /data/dalvik-cacheএর মাধ্যমে নিজেই অ্যাপ্লিকেশনটির সম্পাদন দ্রুততর করে দিন।

বেশিরভাগ রম-এর অ্যাপস রয়েছে যা ওডেক্স 'এড', ক্যাশেটি বাহ্যিক ফাইল হিসাবে নিজেই এপকে বান্ডিল হয়ে থাকে।

অনেকগুলি কাস্টম রম মোড্ডারগুলির সেই অ্যাপস ডিওডেক্স 'ডি থাকবে, যার অর্থ একটি এপকে থিম / সংশোধন করতে আরও সহজ করার জন্য ডেক্স ফাইলটি প্রতিস্থাপন এবং পুনরায় প্যাকেজ করা হয়েছে

আপনি যখন কোনও কাস্টম রম ফ্ল্যাশ করেন এবং ক্যাশে মুছে ফেলেন না, তখন নতুন কাস্টম রমের অ্যাপের সাথে আলাদা আলাদা ডেক্স ফাইল সংযুক্ত থাকবে এবং ডালভিক যখন সেগুলি দেখতে পাবে তখন এটি ডিরেক্টরিতে পাওয়া ক্যাশেড ডেক্স ফাইলটি দেখতে পাবে এবং এটিকে এড়িয়ে যায়, তারপরে আপনি যখন অ্যাপ্লিকেশনটি চালাবেন, তখন আপনার কাছে কোনও বাহিনীর ঘনিষ্ঠ বা এএনআর (অ্যাপ্লিকেশন সাড়া দিচ্ছে না) গ্যারান্টিযুক্ত।

আপনি ক্লাব ওয়ার্কমড পুনরুদ্ধার ব্যবহার করে, এবং মুছা ডেটা নির্বাচন করা থাকলে আপনি প্রতি সেবার ডেটা হারাচ্ছেন না , তবে হ্যাঁ, অ্যাপ্লিকেশন সম্পর্কিত সমস্ত সেটিংস পরিষ্কারভাবে মুছে ফেলা হয়েছে - দেখুন /data/app

সুতরাং আপনি ক্যাশে মুছতে পারেন তবে ডেটা মুছতে পারেন না, কার্যকরভাবে কী করা হয় তা নতুন নতুন অ্যাপগুলিতে স্লট করা হয়, এতে সেটিংস বজায় থাকে। সায়ানোজেনমড নাইটলিজের ক্ষেত্রে এটি বেশ সাধারণ পরিস্থিতি ছিল যেখানে অস্থির / পরীক্ষামূলক রম বিল্ডটি ফ্ল্যাশ হয় এবং সেটিংসটি ক্যাশে মোছার সাথে বজায় রাখা হয়। বাজার থেকে অ্যাপ্লিকেশনগুলি কী ডাউনলোড করে তার উপর নির্ভর করে মাইলেজটি পরিবর্তিত হবে (সেটিংস সম্ভবত সংস্করণে উল্টে পরিবর্তিত হতে পারে)।

সর্বোত্তম ফলাফলের জন্য সততা এবং অ্যাপ্লিকেশনটিতে কোনও প্রোগ্রামের ত্রুটি নিশ্চিত করার জন্য ডেটা এবং মুছা ক্যাশে উভয়ই সম্পাদন করা বুদ্ধিমানের কাজ হবে ।

হ্যাঁ এর অর্থ হ'ল বুটের সময়টি ধীর হবে তবে একবারের শুরুতে এটি শুরু হবে। এরপরে এটি আরও দ্রুত বুট হবে। আসলেই সংক্ষেপে, স্পষ্টভাবে সিডাব্লুএম এর মাধ্যমে ক্যাশে মুছা আসলে এটির গতি বাড়িয়ে তুলতে সাহায্য করে এবং পূর্ববর্তী সংস্করণে কোনও জায়গা খুঁজে পাওয়া যায়নি যা নিমগ্ন হতে পারে (এখন এই পর্যায়ে আপনার প্রশ্নটি সমস্ত ন্যায্যতায় উপলব্ধি করছে, বাস্তবে না নতুন রম ফ্ল্যাশ করার সময় অ্যান্ড্রয়েড বুট করার সময় ক্যাশে নিজেই অবৈধ সম্পাদন করছে না seen

উত্সটি লুককে গুরুত্ব সহকারে ব্যবহার করুন ! : ডি

frameworks/base/core/java/com/android/internal/os/ZygoteInit.javaপ্রতিটি apk রানটাইম জন্য বুটআপ কোড হয়। এটি dalvikডিরেক্টরি ট্রিতে পাওয়া নেটিভ সি কোডের সাথে ইন্টারঅ্যাক্ট করে যা apk এর মধ্যে বাইটকোডকে নেটিভ সিপিইউ নির্দেশিকা সেটকে ব্যাখ্যা করার জন্য নির্দিষ্ট চিপসেট নির্দেশাবলী ধারণ করে। এআরএমভি 6 হ'ল সংস্করণ হ'ল এআরএমভি 5 এর সংস্করণ (যা ইক্লেয়ারের পূর্বে পুরানো অ্যান্ড্রয়েড সংস্করণগুলিতে মূল চিপসেট ছিল), তাই আপনি গুগল থেকে এওএসপি উত্সে আরএমভি 6 দেখতে পাবেন না। সায়ানোজেনমডের উত্সটিতে সেই ARMv6 থাকবে।


এই আলোচনার খাতিরে ধরে নেওয়া যাক আমরা একটি অফিসিয়াল সিএম 7 প্রকাশের কথা বলছি। আমাকে এই কথাটি বলতে শুরু করুন যে আমি কখনই আমার ডালভিক ক্যাশে মুছে ফেলিনি এবং এমন সমস্যাগুলির সমাধানও করতে পারিনি যা এর মাধ্যমে সমাধান হবে। এটি অডেক্সড না হওয়ার কারণে, একাধিক (ও) ডেক্স ফাইল উপস্থিত হওয়ার কোনও উপায় নেই এবং বুট করার সময় পুরানো ফাইলটি নতুনভাবে তৈরি হওয়া দ্বারা প্রতিস্থাপন করা হয়। ওহ এবং যদি এটি সত্যিই বড় বিষয় হয় তবে কেন বিকাশকারীরা এটিকে আপডেটের স্ক্রিপ্টে যুক্ত করবেন না? আমি উত্স পরীক্ষা করে নেব, ধন্যবাদ।
আরআর

1
আপনি প্রকৃতপক্ষে এটিকে আপডেটেটার-স্ক্রিপ্টে রেখে দিতে পারেন, তবে এটি ফ্ল্যাশ করার সময় অন্যকে প্রসারণ করতে পারে কারণ "ওহ ক্রপ, আমি আমার সেটিংস / ডেটা হারিয়ে ফেলেছি" এবং সিএম সম্ভবত শিখা প্রশ্নগুলি / উত্তরগুলি দ্বারা পোড়াতে চাননি " প্রধানমন্ত্রীর নতুন প্রকাশের সময় আপনি কেন আমার ক্যাশে মুছলেন? " - সম্ভবত এটি মুখ্যমন্ত্রীর দায়বদ্ধতা তাই শেষ ব্যবহারকারীকে সেই বিকল্পটি দিয়েছিল? এবং এগুলি তাদের কাছে ফিরিয়ে রাখুন যাতে যদি সেগুলি মোছা ছাড়াই ঝলমলে হয়ে ওঠে এবং ফোরামে শোনায় একটি lá "আরে আমার অ্যাপটি ক্রাশ হচ্ছে", মুখ্যমন্ত্রী ঘুরে ফিরে বলতে পারেন "আপনি কি মুছলেন?"
t0mm13b

আমি বলতে চাইছি না data/dataকিন্তু data\dalvik-cache। সম্ভবত কেবল সিস্টেমগুলি।
আরআর

1
স্টক এওএসপি রমগুলি অডেক্সড করা হয়েছে, ডায়োডেক্স ব্যবহারের জন্য মুখ্যমন্ত্রী বিল্ড সিস্টেমটি পরিবর্তন করেছেন .... শুধু বলছেন;)
t0mm13b

2
T0mm13b বিস্তারিত উত্তরের জন্য ধন্যবাদ। ঠিক তাই আমি পরিষ্কার ... পোস্ট করা প্রশ্নের সহজ উত্তরটি হ'ল "আপনি করবেন না boot এটি বুট সময় ডিফল্টরূপে মুছে ফেলা হয়।" সঠিক?
গলিজার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.