2017-02-02 2 views
0

У меня есть активность с кнопкой создания учетной записи. При нажатии этой кнопки выполняется слайд-анимация. Он медленный и прерывистый. Я тестировал это на эмуляторе nexus 4, а также на галактике s7. Я попытался запустить его в asynctask, однако он не улучшил анимацию.Улучшение производительности анимации фридайдера Android

Есть ли способ улучшить производительность анимации?

кнопке Создать учетную запись OnClick метод:

public void createAccount(View v) { 
    Log.i("Login", "Create Account button tapped."); 

    new AsyncTask<Void, Void, Void>() { 

     @Override 
     protected Void doInBackground(Void... params) { 

      FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
      transaction.setCustomAnimations(R.anim.slide_up, 0); 
      transaction.add(R.id.create_account_frame_layout, new CreateAccountFragment()).commit(); 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void aVoid) { 
      super.onPostExecute(aVoid); 
     } 
    }.execute(); 

} 

CreateAccountFragment класс:

import android.support.v4.app.Fragment; 

public class CreateAccountFragment extends Fragment { 

    public CreateAccountFragment() { 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.create_account_background, container, false); 

     return rootView; 

    } 

} 

ответ

0

Оказывается, моя проблема не с анимацией. Причина низкой производительности анимации заключалась в том, что я предоставил только одно изображение для фона всех моих приложений.

Из-за этого изображение изменило размер - дорогой процесс.

Я исправил проблему, предоставив несколько фоновых изображений, измененных для каждого dpi в папках mipmap.

Смежные вопросы