Проблема с кнопкой Android PayPal

Я делаю приложение для Android, которое принимает пожертвования через PayPal. Все работает отлично, насколько функционально. Однако, когда я запускаю свою благотворительную деятельность, она занимает около 6-7 секунд, чтобы наконец открыть. Я не знаю почему. Может быть, я программно добавляю PayPal CheckoutButton в свой макет вместо добавления его в xml?

Вот как я добавляю кнопку:

// PayPal Button
 PayPal ppObj = PayPal.initWithAppID(this, "APP-ID", PayPal.ENV_LIVE);
 CheckoutButton launchPayPalButton = ppObj.getCheckoutButton(this, PayPal.BUTTON_278x43, CheckoutButton.TEXT_DONATE);
 launchPayPalButton.setOnClickListener(this);

 // Place PayPal Button in Layout
 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
 params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
 params.addRule(RelativeLayout.CENTER_HORIZONTAL);
 params.topMargin = 10;
 launchPayPalButton.setLayoutParams(params);
 ((RelativeLayout)findViewById(R.id.donateRelativeLayout)).addView(launchPayPalButton);

Есть ли способ сделать это в xml? И это даже причина проблемы производительности?

1 ответ

Если щелчок на кнопке пожертвования выполняет код, который выполняет некоторые длительные операции, такие как сетевые подключения в потоке пользовательского интерфейса (поток событий), он замедляет пользовательский интерфейс. Задержка, которую вы видите, может быть связана с тем, что вы выполняете сетевое соединение в потоке пользовательского интерфейса (поток событий). Переместить операции в отдельный поток и посмотреть, решит ли это проблему?

licensed under cc by-sa 3.0 with attribution.