【问题标题】:Using views instead of an activity for each tab为每个选项卡使用视图而不是活动
【发布时间】:2011-04-26 00:50:21
【问题描述】:

这实际上是Alternatives to using an activity for each tab 的扩展版本。关键是使用视图而不是活动实际上是一个好主意。如果我有一个按钮或一些文本,那么它很好。但是,如果我真的想在标签更改时启动一个活动,比如相机呢?使用视图而不是活动仍然有效吗?如果是这样,我该怎么做?因为我认为每次调用新意图也会占用大量内存。

【问题讨论】:

标签: android android-tabhost


【解决方案1】:

如果您希望通过选项卡更改启动活动,请使用活动。除非您确定自己有问题,否则不要纠结于效率。

视图可能更有效,因为它们不启动活动,但既然您无论如何都要启动活动,那么您会获得什么?我在我的应用中使用选项卡式活动,它们很好,即使在我动力不足的手机上也是如此。

记住...

Premature optimisation is the root of all evil

【讨论】:

    【解决方案2】:

    但是,如果我真的想在标签更改时启动一个活动,比如相机呢?

    您无法在选项卡更改时启动活动。您不能在标签中集成第三方活动(例如,内置相机活动)。

    因此,如果您想在选项卡中预览相机,您别无选择,只能使用Camera 对象和SurfaceView 进行自己的工作。

    【讨论】:

    • 我已经做到了。我创建了一个 SurfaceView。我只是以相机为例。我想知道的是,当我点击一个名为相机的选项卡时,它实际上应该启动我自己的相机活动,我该如何处理与选项卡关联的视图?
    • @Prahabat:您不能拥有“实际上应该启动我自己的相机活动的名为相机的选项卡”。
    • @CommonsWave:目前我已经实现了这个。逻辑是这样的。 developer.android.com/resources/samples/ApiDemos/src/com/… 我创建了一个名为 CaptureActivity 的活动并将其与选项卡相关联。单击选项卡时,将启动活动。 CaptureActivity 有surfaceCreated、surfaceChanged、surfaceDestroyed 方法。由于被告知为选项卡设置活动效率不高,所以我想知道是否将相机布局与选项卡关联,什么时候应该调用 CaptureActivity。
    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多