4

これが私の問題です。私はニュースアプリケーションを開発しており、テキストビューをラップするスクロールビューを使用してニュースの内容を表示しました。しかし、テキストビューが非常に長い場合、Android 4.0 icsではスクロールが非常に遅く、テキストが長いほどスクロールが遅くなることがわかりました。Android 2.3 デバイスでは、期待どおりの速度で動作します。

これが本当にシステム バグなのかどうかはわかりませんが、Android プロジェクトでこのような問題が報告されていることがわかりました。

これが私のレイアウトです:

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ScrollView
        android:id="@id/lst_news_details"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/list_background"
        android:fadingEdge="none"
        android:gravity="center" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:layout_marginLeft="15dp"
                android:layout_marginRight="15dp"
                android:layout_marginTop="10dp"
                android:orientation="vertical" >

                <TextView
                    android:id="@id/tv_news_details_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    style="@style/Detail_Title"/>

                <TextView
                    android:id="@id/tv_news_details_category"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    style="@style/Detail_Category"/>

                <TextView
                    android:id="@id/tv_news_details_created_at"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="10dp"
                    style="@style/Detail_Time"/>

                <include layout="@layout/detail_horizontal_divideline" />

                <ImageView
                    android:id="@id/img_news_details_image"
                    style="@style/Detail_Picture"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="6dp"
                    android:layout_gravity="center_horizontal"
                    android:contentDescription="@string/image_contentDescription"/>

                <TextView
                    android:id="@id/tv_news_details_context"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:layout_gravity="center_horizontal"
                    style="@style/Detail_Content"/>

            </LinearLayout>

            <View
                android:layout_width="match_parent"
                android:layout_height="10dip" />

        </LinearLayout>

    </ScrollView>

     <!-- actionbar shadow -->
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/action_bar_shadow"
        >
    </LinearLayout>

</FrameLayout>

そして私のstyle.xml

<style name="Detail_Title">
     <item name="android:textColor">@color/list_item_title</item>
     <item name="android:textSize">18sp</item>
     <item name="android:shadowColor">@color/list_item_text_shadow</item>
     <item name="android:shadowDx">0</item>
     <item name="android:shadowDy">2</item>
     <item name="android:shadowRadius">2</item>
 </style>

 <style name="Detail_Category">
     <item name="android:textColor">@color/list_item_category</item>
     <item name="android:textSize">14sp</item>
     <item name="android:shadowColor">@color/list_item_text_shadow</item>
     <item name="android:shadowDx">0</item>
     <item name="android:shadowDy">2</item>
     <item name="android:shadowRadius">2</item>
 </style>

 <style name="Detail_Time">
     <item name="android:textColor">@color/list_item_time</item>
     <item name="android:textSize">14sp</item>
     <item name="android:shadowColor">@color/list_item_text_shadow</item>
     <item name="android:shadowDx">0</item>
     <item name="android:shadowDy">2</item>
     <item name="android:shadowRadius">2</item>
 </style>

 <style name="Detail_Content">
     <item name="android:textColor">@color/detail_content_text</item>
     <item name="android:textSize">16sp</item>
     <item name="android:autoLink">all</item>
     <item name="android:shadowColor">@color/list_item_text_shadow</item>
     <item name="android:shadowDx">0</item>
     <item name="android:shadowDy">2</item>
     <item name="android:shadowRadius">2</item>
 </style>

 <style name="Detail_Picture">
    <item name="android:layout_gravity">center</item>
    <item name="android:gravity">center</item>
    <item name="android:background">@drawable/image_frame</item>
 </style>

ちなみに、私はすでに設定しています

android:minSdkVersion="7" android:targetSdkVersion="14"

ただし、ハードウェア アクセラレーション フラグはまだ設定していません。

解決策はありますか?助けてください、ありがとう!

4

2 に答える 2

10

まあ、私は自分で解決策を見つけました

android:hardwareAccelerated="false"manifest.xmlに設定するだけ

理由についてはまだかなり混乱しており、説明を待っています。

于 2012-08-25T03:00:47.267 に答える
4

android:hardwareAccelerated="false"ここに示すように、特定のアクティビティ (または特定のビュー) に追加できることに注意してください: http://developer.android.com/guide/topics/graphics/hardware-accel.htmlアプリのハードウェアが高速化されました。

于 2013-01-07T03:39:53.613 に答える