java - 后台服务 Android 中的位置监听器

标签 java android implementation locationlistener

哪种方法更好,直接像这样实现LocationListener

public class BackgroundService extends Service implements LocationListener {}

或者通常在类中声明 LocationListener

LocationListener locationListener = new LocationListener() {};

最佳答案

在第二段代码中,您必须在调用接口(interface)方法之前调用属性 locationListener

在第一段代码中,您可以直接访问接口(interface)方法。

因此,如果您知道每个方法调用都需要花费 CPU 时间,那么直接在类中实现它而不是将其作为属性来实现将是有益的。

在这种情况下,您有 1 个对 BackgroundService 的引用,您可以通过它访问 LocationListener 的方法

public class BackgroundService extends Service implements LocationListener {}

在这种情况下,您有 2 个引用,一个指向 BackgroundService,另一个指向 locationListener

public class BackgroundService extends Service {
    private LocationListener locationListener = new LocationListener() {};
}

但话又说回来,如果您的程序没有关键的时间限制,那也无所谓。 最重要的是您的代码可读。

我希望这能回答您的问题。

关于java - 后台服务 Android 中的位置监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227446/

相关文章:

java - java中非 volatile 变量的寄存器分配

android - Facebook 安卓 SDK 4.0 : newGraphPathRequest returns "An active access token must be used to query information about the current user."

c++ - STL 队列(或堆栈)的双端队列和链表(+ vector )实现之间有什么区别?

user-interface - CAknView 容器内的 CAknSlider 控件(不作为设置项)

java - 使用纯 Java 模仿 JavaFX 的 ColorAdjust 亮度

java - 处理存储为 HashMap 的 Json,其中多个元素存储在值中

android - 当所选项目 View 为空时,Kotlin 在 Android 上崩溃

parsing - Scheme - 双引号可以分隔数字吗?

java - JPA - 如果不存在则创建实体?

android - facebook api、google+ api、vk api 中不出现确认登录对话框