Android дергается из-за раздувания Popupmenu на SupportMapFragment - PullRequest
0 голосов
/ 31 октября 2019
menuButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Context wrapper = new ContextThemeWrapper(getApplicationContext(), R.style.BasePopupMenu);
                PopupMenu p = new PopupMenu(wrapper, view);
                getMenuInflater().inflate(R.menu.context_menu, p.getMenu());

                p.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                    @Override
                    public boolean onMenuItemClick(MenuItem menuItem) {
                        switch (menuItem.getItemId()) {

                            case R.id.rssi_menu:
                                break;

                            case R.id.rsrp_menu:

                                fusedLocationProviderClient.removeLocationUpdates(locationCallback);

                                convertMarkerRSRP();

                                locationCallback = new LocationCallback() {
                                    @Override
                                    public void onLocationResult(LocationResult locationResult) {
                                        markerRSRPUpdate(locationResult);
                                    }
                                };

                                mBackThread = new BackThread();
                                mBackThread.start();
                                break;

                            case R.id.rsrq_menu:

                                fusedLocationProviderClient.removeLocationUpdates(locationCallback);

                                convertMarkerRSRQ();

                                locationCallback = new LocationCallback() {
                                    @Override
                                    public void onLocationResult(LocationResult locationResult) {

                                        markerRSRQUpdate(locationResult);
                                    }
                                };

                                mBackThread = new BackThread();
                                mBackThread.start();
                                break;

                            case R.id.sinr_menu:
                                break;
                        }
                        return false;
                    }
                });
                p.show();
            }
        });

Это целый код Popupmenu.

Я не знаю, создает ли этот код ненужный толчок.

В GoogleMap перебирается кнопка, и когда я раздуваюменю в приложении, мое устройство отстает, пока меню не разрушается.

Это часть моего приложения

enter image description here

Что я сделалЯ добавил маркер на то, где находится пользователь, и анимировал камеру к новому маркеру.

Хорошо работает без ввода (отслеживает местоположение пользователя и ставит маркер).

Но еслия раздуваю меню, оно сильно дергается.

Если кто-то спросит дополнительные данные по этому вопросу, я добавлю больше информации.

Спасибо.

...