वहाँ नहीं है नेट पर एक निश्चित जवाब होने लगते हैं, तो मैं TextLayoutCache.cpp के लिए कोड पर एक नज़र था। मुझे ठीक लग रहा है। यह प्रदर्शन में सुधार करने पाठ लेआउट डेटा कैशिंग है, और वर्तमान में 0.5MB की एक निश्चित डिफ़ॉल्ट संचय आकार का TextLayoutCache.h में परिभाषित नहीं है।
तो अगर आप मूल्यों की एक निश्चित सेट (< 0.5MB) के लिए लेआउट पाठ बदल रहे हैं, तो आप लॉग संदेश नहीं देख सकेंगे।
यदि आप गतिशील मानों में टेक्स्ट बदलते हैं तो आखिर में कैश भर जाएगा और एलआरयू (कम से कम हाल ही में उपयोग किया गया) कैश प्रविष्टि हटा दी जाएगी, और आपको लॉग संदेश दिखाई देगा। यह सिर्फ एक डीबग संदेश है, एक त्रुटि नहीं, रिसाव नहीं। एंड्रॉइड इंटर्नल्स हमारे ऐप को कैसे प्रबंधित कर रहे हैं, इस बारे में यह एक उपयोगी प्रदर्शन मीट्रिक है।
ध्यान दें कि TextLayoutCache अगर यह काम करता है, मैं त्रुटि समझ नहीं रहते हैं, कैसे/जब/यह क्या है के बावजूद Android संस्करण में प्रयोग किया जाता है नहीं> = 5.
स्रोत
2014-03-08 10:17:45
धन्यवाद, मैं यह कोशिश करता हूँ, लेकिन वैसे भी, कैश किया जा रहा है। बीटीडब्लू, मैंने जांच की और मैं कई स्थानों पर संदर्भ का उपयोग करता हूं, इसलिए जब भी मैं केवल एक संदर्भ रखने और इसका उपयोग करने के बजाय कक्षा में किसी विधि का उपयोग करता हूं तो मैं फाइंडबीड को कॉल नहीं करना चाहता हूं। – polonskyg
जैसा कि मैंने मैं लगातार चल धागे से TextView अपडेट करते समय इस में आए उल्लेख। यदि आप findViewById को कॉल नहीं करते हैं तो यह उन पंक्तियों को आपके लॉगकैट में जोड़ता है। यह स्मृति रिसाव से संबंधित नहीं है, मैंने सवाल का जवाब दिया है कि यह क्यों हो रहा है (मेरे मामले में)। – MobileEvangelist
ठीक है, मैं यह पता करने की कोशिश की, लेकिन इतना कह रहता है, एक अलग समस्या हो सकती है। फिर भी धन्यवाद! – polonskyg