以下情况是设计不良还是我忽略了重要的东西?
以下是代码:
为什么
我知道这样做不会有害,但这并不是问题的重点。我需要知道的是:为什么需要这样做? 编辑 完整代码源: https://github.com/googlesamples/android-play-location/blob/master/BasicLocationSample/app/src/main/java/com/google/android/gms/location/sample/basiclocationsample/MainActivity.java
以下是代码:
public class MainActivity extends AppCompatActivity … {
…
@Override
public void onCreate(Bundle savedInstanceState){
…
buildGoogleApiClient();
}
/**
* Builds a GoogleApiClient. Uses the addApi() method to request the LocationServices API.
*/
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
}
}
为什么
buildGoogleApiClient
只会从onCreate
内部调用,但却需要synchronized
?我知道这样做不会有害,但这并不是问题的重点。我需要知道的是:为什么需要这样做? 编辑 完整代码源: https://github.com/googlesamples/android-play-location/blob/master/BasicLocationSample/app/src/main/java/com/google/android/gms/location/sample/basiclocationsample/MainActivity.java