내 코드를 미세 조정하는 방법에 대한 여러 기사를 읽은 후에 우리는 개체와 변수를 선언하는 방식이 응용 프로그램 성능에 과감하게 영향을 미칠 수 있다는 것을 알게되었습니다. 시간 제한이 이제 Android 플랫폼의 일부 측면에서 없어서는 안될 요소이므로 (예 : 일부 작업의 경우 5 초 이내에 결과를 제공해야 함) 이는 점점 더 중요합니다.더 나은 성능 및 리소스 활용을 위해 사용할 구문
지금, 나는이 (완벽하게 기능) 내 조각 클래스 중 하나에 다음 코드를 발견 배수 제한하는 장치의 기여 요인의 일부
Activity myA = getActivity();
if(myA instanceof MainActivity) {
((MainActivity) myA).doNext();
}
아는 생성/파괴와 능숙 할당을 객체입니다 배터리를 사용하기 위해 코드를 다시 작성해야한다는 것을 염두에 두었습니다.
if(getActivity() instanceof MainActivity) {
((MainActivity) getActivity()).doNext();
}
기능면에서 두 코드 모두 동일한 결과를 제공합니다. 그러나 가장 적합한 방법은 무엇입니까? 찬성과 반대 의견을 모두 접근하고 성능을 평가할 적절한 방법을 찾을 수 없기 때문에 어떤 카운터 (메모리 사용, 기능 속도, CPU주기 사용 등)가 명확하지 않기 때문에 묻습니다.) 평가가 수행되어야합니다.
미리 제출해 주셔서 감사합니다.
개체 생성/제거는 장치에서 초당 수천 번 발생합니다. 이 수준에서 최적화 할 가치가 있다고 확신합니까? –
필자의 예는 매우 기본적인 것이므로이 특정 코드의 최적화에 많은 시간을 투자하지 않을 것입니다. 이러한 유형의 지정 및/또는 오브젝트 구성을 너무 자주하고 나서 결국 전체적인 성능에 영향을 미칠 수 있으므로 글로벌 관점에서 볼 때 더 많은 관심을 갖고 있습니다. 성능 측면에서 속도는 물론 외부 리소스 (배터리 등)에 대한 영향도 고려합니다. –
@DominicHarvey 글로벌 관점에서 볼 때 프로파일 러는 실제로 말해 줄 수있는 유일한 도구이기 때문에 절대적으로 프로파일 러를 사용해야합니다 세계적인 관점에 관한 것. – millimoose