0

각 탐색 메뉴 클릭당 5 개의 복잡한 조각이 있습니다. 그러나 모든 조각이 복잡하고 값 비싸기 때문에 조각 대신 활동을 사용해야하는지 잘 모르겠습니다.복잡한 NavigationDrawer 구성 요소가있는 단편 대신 활동을 사용할 때 성능이 향상 되었습니까?

모두 조각이기 때문에 ONE 활동에서도 실행됩니다.

지금 제 질문은 조각 대신 액티비티를 사용하면 도움이 될까요?

저는 조각, 활동의 차이점을 알고 있습니다. 하나의 활동에 모든 복잡한 조각을 저장해야하는지, 아니면 탐색 표시 줄에서 조각 대신 여러 활동을 사용하는지 확실하지 않습니다. 나는 모든 파편들이 너무 많은 자원을 소비 할까 봐 두렵다.

고마워.

+0

[Android - 조각과 활동 및 뷰에 대한 설명이 필요합니다.] (https://stackoverflow.com/questions/10478233/android-i-need-some-clarifications-of-fragments-vs-activities - 및 - 전망) – Mohamed

+0

나는 조각, 활동의 차이점을 안다. 하나의 활동에 모든 복잡한 조각을 저장해야하는지, 아니면 탐색 표시 줄에서 조각 대신 여러 활동을 사용하는지 확실하지 않습니다. 나는 내 조각이 너무 많은 자원을 소비 할까봐 두렵다. – JohannaNoobie

+1

모든 조각에 대한 코드가 동일한 활동에 있는지 여부는 중요하지 않습니다. 문제는 모든 조각을 한 번에 초기화하지 않고 (Fragment f = new SomeFragment();) 실제로 사용할 때 (예 : 탐색 서랍 클릭)에만 수행해야한다는 것입니다. –

답변

1

이것은 전문적인 답변이 아니지만 시각적으로 볼 때 Fragments가 그 활동을 더 잘 수행 할 수 있음을 결코 보지 못했습니다. 나는 또한 활동과 파편이있는 네비게이션 서랍을 가지고 있었다. 동시에 정보를 전달해야하는 경우 Fragments를 작성하는 것이 활동보다 쉽습니다. Fragments의 경우 큰 이점입니다. 응용 프로그램이 느린 경우 다음 사항을 고려하십시오.

  • UI 스레드에서 값 비싼 작업을 실행하지 마십시오. 데이터베이스 쿼리, 인터넷 호출, 예 : Listviews 또는 RecyclerViews이 채워집니다. 그 목적으로 AsyncTask을 사용하십시오.

  • 매우 복잡한 중첩 레이아웃을 피하십시오. 가능한 경우 중첩 된 레이아웃없이 항목을 임의로 배치 할 수있는 ConstraintLayout을 사용하십시오.

  • 사용자가 기다려야하는 경우 적절한 애니메이션을 사용하십시오. 그것은 얼어 붙은 스크린을 바라 보는 것보다 훨씬 보람적입니다.

  • Google의 Best Practices for Performance에 대한 코드를 확인하십시오.

응용 프로그램이 느려지는 특정 지점이있는 경우 코드를 게시하고 문제를 자세히 설명하십시오.

+0

중첩 된 ConstraintLayouts를 사용하면 괜찮습니까? – JohannaNoobie

+0

솔직히, 나는 필요성을 느끼지 못했고, 나는 빠른 테스트를했고, 잘 작동합니다. 가능하면 가능한 한 중첩 된 레이아웃을 가능한 한 적게하는 것이 좋습니다. –