gpt4 book ai didi

Android:AsyncTask 推荐:私有(private)类还是公共(public)类?

转载 作者:IT王子 更新时间:2023-10-28 23:54:59 26 4
gpt4 key购买 nike

我目前正在一个团队中开发一些 Android 应用,在过去的几个月中我们使用了两种不同的方法(一种是我个人喜欢的,另一种是其他开发者喜欢的)。

虽然到目前为止结果是一样的,但这让我想知道......我们应该:

  • 将 AsyncTask 用作使用它们的 Activity 中的私有(private)类。
  • 或将 AsyncTasks 用作接收 Activity 上下文的单独公共(public)类

是否有 Google 推荐的任何方法?

您对此有何经验(优点、缺点、问题)?

最佳答案

内部类非常适合表示私有(private)对象或与封闭类密切相关的对象。偶尔有使用内部类的技术原因(例如,模拟闭包)。他们还减少了命名空间污染。

内部类的一个缺点是,如果它们访问封闭类的私有(private)成员(字段或函数),编译器将为这些成员生成访问器函数。语言纯粹主义者会争论这种封装的破坏是好事还是坏事。访问函数为每次访问增加了一些开销(这通常不是一个因素,但确实存在)。另一个缺点是它使源文件更复杂,因此更难管理。 (我偶尔会因为在内部类中编辑一个函数而认为它在外部类中而被刺痛,反之亦然。)最后,内部类往往不可重用,而单独的类通常可以参数化以具有多种用途.

这些优点和缺点不在我的脑海中。我相信其他人会有更多的想法。

更新:

在此 Google IO video内部 AsyncTask 选项被明确标记为错误选项。

关于Android:AsyncTask 推荐:私有(private)类还是公共(public)类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4823891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com