Android 数据量很大的时候,如何提高UI的加载效率
巴扎黑
巴扎黑 2017-04-17 17:29:43
0
8
665

Android 数据量很大的时候,如何提高UI的加载效率

巴扎黑
巴扎黑

모든 응답(8)
巴扎黑

데이터의 양이 많습니다. 효율성을 높이려면 일반적으로 두 가지 사항을 고려해야 합니다. 하나는 네트워크 속도이고 다른 하나는 로컬 로딩 속도입니다.
이 두 가지 점을 동시에 해결하는 방법은 페이지 로딩 디자인을 사용하는 것이라고 생각합니다.
1. 인터페이스에서 페이지(어떤 페이지를 로드할지)를 업로드해야 합니다.
2. 기본적으로 로컬로 로드되며, 풀다운할 때 마지막 데이터에 대해 또는 다음 페이지를 클릭하는 등의 경우 필드 page=2로 다시 요청을 보내고 두 번째 페이지를 로드한 후 표시할 수 있습니다. 이러한 라이브러리에는 pulltorefreshlistview 등이 포함됩니다.
3. 목록 보기 홀더, 변환 보기 및 기타 형태의 최적화 등 로컬에서 최적화합니다. 레이아웃은 중첩을 최소화하고 가능한 한 상대 레이아웃을 사용해야 합니다. 개체를 사용하지 않은 후에는 수동으로 설정할 수 있습니다. 재활용 속도를 높이거나 자체 GC 등을 수행하려면 null입니다.

PHPzhong

사용자에게 보이는 영역만 로드하세요. 예를 들어 listview와 같은 목록 컨트롤을 페이지에 로드할 수 있습니다

伊谢尔伦

먼저 일정량의 데이터를 불러오면 하단에 로딩 메시지가 뜹니다!
동적 로딩은 어댑터에 입력된 데이터를 여러 번 로딩하는 것을 의미합니다. 사용자가 뷰를 드래그할 때 특정 데이터 로드

伊谢尔伦

위에서 언급했듯이 지연 로딩을 사용하세요

PHPzhong

1. 사진이 많으면 일반적으로 썸네일이 로드됩니다. 즉, 외부 타사 이미지 저장 서버가 있는 경우 자체 이미지 처리 기능이 있어야 합니다.
2. 지연 로딩, 처음 10개의 데이터를 미리 로드합니다. 페이지당 20개의 데이터를 요청하는 경우 첫 번째 페이지에는 처음 10개 이하의 데이터만 로드됩니다. 사용자가 먼저 화면의 데이터를 볼 수 있도록 하세요.
3. 메모리 누수/스레드 열기 사용 확인

伊谢尔伦

페이지 로딩은 선택사항입니다

刘奇

페이지 단위로 로드되지 않나요?

Ty80
  1. 데이터 양이 많습니다. 페이징 쿼리를 고려해야 하는지 서버와 통신하세요. 페이징을 사용하지 않으면 각 요청에 대해 반환되는 응답이 많은 대역폭을 차지하게 됩니다.

  2. 네트워크 지연 문제를 무시할 수 있도록 데이터를 로컬 데이터베이스에 저장할 수 있습니까

  3. 비동기 데이터 로드(예: 인기 있는 RxJava 사용

  4. 한 번 표시하고 모든 데이터를 로드하지 않고 페이지에 로드합니다. 예: 위에서 언급한 풀업 로드

  5. 로드되는 이미지가 많으면 피카소나 글라이드의 캐싱 메커니즘을 고려해 볼 수 있습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿