2013-07-22 3 views
6

मैंने डेवलपर सेटिंग्स में जीपीयू ओवरड्रा ओवरले चालू कर दिया और देखा कि मेरा ऐप बहुत अनुकूलित नहीं है और मुझे यह सुनिश्चित नहीं है कि इसे थोड़ा बेहतर बनाने के लिए इसे कहां बदलना है। यहां इसकी एक छवि है।जीपीयू ओवरड्रा को अनुकूलित करना और कम करना - एंड्रॉइड

enter image description here

लाल वर्गों एक ListView का हिस्सा हैं और इतना है कि जहां मैं इसे कैसे अनुकूलन करने के लिए, जबकि एक ही शैली में रखते हुए नहीं जानता है। यहाँ प्रत्येक ListView अनुभाग के लिए layout.xml है:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/background_card" 
android:orientation="horizontal" 
android:padding="5dip" > 

<ImageView 
    android:id="@+id/list_image" 
    android:layout_width="50dip" 
    android:layout_height="50dip" 
    android:src="@drawable/gta5thumb" 
    android:padding="3dip" 
    android:background="@drawable/image_bg" 
    android:layout_centerVertical="true"/> 





<TextView 
    android:id="@+id/title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignTop="@id/list_image" 
    android:layout_toRightOf="@id/list_image" 
    android:text="Grand Theft Auto 5" 
    android:textColor="#040404" 
    android:textSize="18sp" 

    android:layout_marginLeft="4dp" 
    android:textStyle="bold"/> 

<TextView 
    android:id="@+id/date1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/title" 
    android:textColor="#343434" 
    android:textSize="14sp" 
    android:layout_marginTop="1dip" 
    android:layout_toRightOf="@id/list_image" 
    android:layout_marginLeft="4dp" 
    android:text="17th September 2013" /> 
<TextView 
    android:id="@+id/date2" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/date1" 
    android:textColor="#343434" 
    android:textSize="14sp" 
    android:layout_marginTop="1dip" 
    android:visibility="visible" 
    android:layout_marginLeft="4dp" 
    android:layout_toRightOf="@id/list_image" 
    android:text="17th September 2013" /> 
<TextView 
    android:id="@+id/date3" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textColor="#343434" 
    android:textSize="14sp" 
    android:layout_marginLeft="4dp" 
    android:text="17th September 2013" 
    android:layout_below="@+id/date2" 
    android:layout_toRightOf="@+id/list_image"/> 

<TextView 
    android:id="@+id/platforms" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_alignTop="@id/title" 
    android:gravity="right" 
    android:text="360, PS3" 
    android:layout_marginRight="3dip" 
    android:textSize="12sp" 
    android:textColor="#10bcc9" 
    android:textStyle="bold"/> 

<!-- Rightend Arrow -->  
<ImageView android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/arrow" 
    android:layout_alignParentRight="true" 
    android:layout_centerVertical="true"/> 

</RelativeLayout> 

मैं वास्तव में इस बाहर छँटाई के साथ खो रहा हूँ और मैं किसी भी अन्य फ़ाइलों को आप मदद करने के लिए GPU ओवरड्रॉ कि क्या हो रहा है कम कर सकते हैं देने के लिए खुश हूँ। मुझे यकीन नहीं है कि यह एक सूची दृश्य के रूप में क्या करना है और इसलिए आसानी से बदला नहीं जा सकता है। ध्यान रखें कि स्टाइल को यथासंभव करीब रखा जाना चाहिए।

उत्तर

5

RelativeLayout और आपकी पंक्तियों के लिए बच्चे समस्या नहीं दिखेंगे। इसके बजाए, यह उनके पीछे सामान है।

आपको जंक का निदान करने पर Romain Guy's epic blog post पढ़ना चाहिए (या में समान कवरेज :: खांसी :: अच्छी तरह से एंड्रॉइड डेवलपर पुस्तकें)। विशेष रूप से, यह निर्धारित करने के लिए पदानुक्रम दृश्य का उपयोग करें कि क्या स्तर पर स्तरित किया गया है, और अनावश्यक परतों से सीधे छुटकारा पाने का प्रयास करें, या कम से कम उन्हें पारदर्शी बना दें यदि उनका रंग ज़ेड-अक्ष में कुछ उच्चतर द्वारा ओवरलैप किया गया हो।

इसमें से कुछ को आपके डिजाइन में बदलाव की आवश्यकता हो सकती है, या शायद आपके वर्तमान रूप को प्राप्त करने में महत्वपूर्ण जटिलताओं की आवश्यकता हो सकती है। उदाहरण के लिए, पैडिंग के 5dip पृष्ठ के भीतर इन्सेट होने के लिए ListView का कारण बन रहा है, जिसका अर्थ है कि इसके पीछे जो कुछ भी है, किनारों पर देखता है। इसलिए, आप इसके पीछे की चीजों से छुटकारा नहीं पा सकते हैं, या इसे पूरी तरह से पारदर्शी बना सकते हैं, क्योंकि यह उपयोगकर्ता के लिए दृश्यमान है। आप एक माध्यम से काम करने में सक्षम हो सकते हैं जिससे केवल 5dip सीमा मौजूद है और आंतरिक पारदर्शी है, लेकिन यह गन्दा हो सकता है।

अन्य सामान मरम्मत के लिए आसान हो सकता है। उदाहरण के लिए, इसके नीचे नीले-आश क्षेत्र के साथ हरी पट्टी से पता चलता है कि आपकी हरी पट्टी कुछ View है जो पृष्ठ की पृष्ठभूमि के बड़े स्तर पर स्तरित है। यदि आप ओवरलैपिंग के बजाए उन्हें लंबवत रूप से ढेर कर सकते हैं, जो ओवरड्रा के चुटकी को खत्म कर देगा।

(बेशक, कि ViewPager कर रही हो सकता है, के रूप में मेरा अनुमान है कि यह है कि आप ViewPager यहाँ का उपयोग कर रहे हैं, और मैं एक ViewPager आधारित यूआई पर ओवरड्रॉ जाँच की कभी नहीं किया है)

संबंधित मुद्दे