1

我正在寻找需要不断修改的最佳视图或活动性能。想象某种基于“对话”的列表,其中新元素一直添加到对话中。

游标在这里合适吗?ListActivity 呢?

选择还重要吗?在性能方面有什么明显的区别吗?我相信你(现在)明白我是 Android 开发的新手。我希望你明白。

4

3 回答 3

1

我查看了内置 SMS Android 应用程序的源代码,这是 Layout

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

    <ListView android:id="@android:id/list"
        style="?android:attr/listViewWhiteStyle"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:drawSelectorOnTop="false"
        android:scrollbarStyle="insideOverlay"
        android:background="@android:color/white"
        android:cacheColorHint="@android:color/white"
        android:fadingEdgeLength="16dip" />

    <TextView android:id="@+id/empty"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="@string/loading_conversations"
        android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>

因此,如果您正在制作“对话”应用程序,则可以安全地使用ListView没有性能问题的应用程序。

于 2013-02-01T21:18:49.667 回答
0

你真的是在倒着想事情。提出有效显示信息的 UI 设计。然后弄清楚如何实现该设计。在那之前不要考虑单独的课程。

顺便说一句,如果您的主视图几乎只是一个 ListView,那么您只会使用 ListActivity。并且只有在发出 db 请求时才使用游标。您不会考虑两者的类型 - 您将为每个应用程序(通常不止一个)编写自己的自定义活动,并且您根本不选择游标类型 - 您正在使用的数据源将如果合适,给你一份。

于 2013-02-01T21:11:30.500 回答
0

这取决于您的要求。在大多数情况下,您可以使用许多不同类型的视图,但假设您将其打开很长时间,如果您所做的只是添加(与删除)它,它将消耗越来越多的内存。这通常意味着您需要一种策略来删除一些项目并在适用时重新加载(例如,从“对话”的早期删除并在您向上滚动时添加回来)。我很少实际使用ListActivity,但倾向于只ListView在常规 a 中使用 s ,但本身Activity并没有错。ListActivity根据您的描述,我肯定会考虑某种形式ListView。还要了解适配器是如何工作的,因为它们是ListViews 的对应物。

于 2013-02-01T21:16:31.633 回答