Google Places SDK загружается медленнее при первом запуске приложения

[Справочная информация] У меня есть приложение, в котором есть список магазинов в базе данных с идентификаторами мест, сохраненными в поле. Когда пользователь вводит свое местоположение, приложение должно отображать, среди списка магазинов в базе данных, магазины, которые находятся ближе всего к пользователю. Таким образом, код будет проходить по каждому идентификатору Shop Place, получать Lat/Long из Google Places и вычислять расстояние от местоположения пользователя. Вот фрагмент кода ниже:

 for (int position = 0; position < results.size(); position++) {
            // Get the placeID 
            String placeId = results.get(position).getAddress();

            // Specify the fields to return.
            List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME,
                    Place.Field.LAT_LNG, Place.Field.ADDRESS);

            // Construct a request object, passing the place ID and fields array.
            FetchPlaceRequest request = FetchPlaceRequest.builder(placeId, placeFields)
                    .build();

            // create a FetchPlaceResponse task
            Task<FetchPlaceResponse> task = placesClient.fetchPlace(request);

            try {
                // wait for the task to finish
                FetchPlaceResponse response = Tasks.await(task);
                Place place = response.getPlace();

                // Get the latitude and longitude for the place
                LatLng latLng = place.getLatLng();

                // Set the location object for the specific business
                Location A = new Location("Business");
                A.setLatitude(latLng.latitude);
                A.setLongitude(latLng.longitude);

                // get the distance of the business from the user location
                float distance = A.distanceTo(mUserLocation);

Из журналов я заметил, что код выполняется медленно (около 7 секунд) во время первого / первого запуска. Тем не менее, последующие запуски / запросы занимают быстрее всего около 2 секунд.

Итак, во время входа в систему я впервые запустил Google Места, используя фиктивный идентификатор места. Результат, очевидно, потерпит неудачу, но, по крайней мере, во время первого запуска пользователя с реальными идентификаторами места результаты были быстрее на 2 секунды. Есть ли причины, по которым это происходит?

0 ответов

Другие вопросы по тегам