안드로이드를 프로그래밍 할 때 기억해야 할 함정이나 포인트가 있습니까? 목록에는 멀티 스레딩, 영구 저장 장치 등에 관한 주제가 포함될 것입니다.안드로이드 애플리케이션의 함정
답변
Android 개발자는 Context references를 유지하기 때문에 avoiding memory leaks에 관한 좋은 게시물을 보유하고 있습니다. 거기에는 다른 많은 흥미로운 게시물도 많이 있습니다.
나는 그 자체로 함정이라고 부르지는 않겠지 만,이 컴퓨터는 단지 벽에 꽂혀있는 컴퓨터가 아니라는 것을 항상 기억해야합니다. 다양한 방법으로 업그레이드 할 수 있습니다. 업그레이드주기는 약 2 년마다 (요즘 표준 모바일 계약 기간)이며 하드웨어는 그 기간 동안 가장 빠르지 않고 (B) 정적이지 않습니다. 고려하는
것들 :
1) 어떻게 일이 앱이 배터리 수명에 영향을 미치지 않습니다합니까? 당신은 밝은 그림을 그 자리에서 튀기고 있습니까? 백그라운드에서 많은 스레드를 실행하고 있습니까? 서비스?
2) 애플리케이션이 기기에서 얼마나 많은 공간을 차지해야합니까? 정보가 서버에 보관되어 필요할 때만 임시로 사용할 수 있도록 전송됩니까?
3) # 2와 관련하여 앱이 불량/존재하지 않는 네트워크/모바일 연결을 허용하고 있습니까? 그것은 EDGE 네트워크 대 3G에서 어떻게 작동합니까?
나는 더 많은 것을 생각 해낼 수있을 것이라고 확신하지만 이것은 내 애플 리케이션을 쓰는 동안 내가 명심하는 것이다.
여기에서 말할 수있는 많은 것들이 있습니다.
Google I/O 2009의 Android 비디오는 Android에서 프로그래밍 할 때 염두에 두어야 할 대부분의 기능을 제공합니다. 실제로, http://android-developers.blogspot.com/ 기사는이 프레젠테이션이 확장되는 소스이며, 최고의 Google 엔지니어로부터 설명 된 것을 볼 수 있습니다 (Q & A 섹션을 보너스로 받음)는 모든 Android 개발자를위한 필수 항목입니다. IMO.
언급 될 수있는 것들 중 일부
: 수레를 사용하지 마십시오안드로이드 부동 소수점 값을 기본적으로 지원하지 않기 때문에, 때, 정수와 비슷한 결과를 얻을 수 있습니다.
성능 및 유지 관리 기능을 최적화하고 UI 디자인에서 ViewGroup 중복과 같은 일반적인 함정이나 무거운 메소드 (View.inflate(), findViewById(), setImageResource() 등 불필요한 다중 호출을 피하기 위해 디버깅 도구를 광범위하게 사용하십시오.)).
, 당신의 배경 서비스 호출을 번들 (심각하게 감소 배터리 수명 결과) 다른 서비스 돼지 - 백업 전화
는 SAX-파서를 선호하는 위험을 회피하면서 그렇지 않으면, 불필요하게 너무 자주 OS를 깨어있다 DOM 파서를 사용하면 앱을 구현하는 데 시간이 많이 걸리지 만 앱 성능 (기기의 사용 가능 여부)에 시간이 걸릴 수 있습니다.
인터페이스 툴킷이 스레드로부터 안전하지 않기 때문에 UI 스레드에서 UI 조작을 유지하십시오.
을 ... 그리고 많은 다른 -방향 변경은 파괴하고 다시 활동을 만들고 있다는 사실을 양지해야합니다 (I는 안드로이드 개발자 블로그를 따라 시작하는 방법이있다 나는 열심히하고 고통스러운 방법을 배웠) .
- 1. 다른 애플리케이션의 안드로이드 알림 액세스
- 2. 이미지를 안드로이드 애플리케이션의 그리드보기로 표시
- 3. Android : AlarmManager 함정
- 4. Ruby monkey patching 함정
- 5. 모듈 "duck typing"함정?
- 6. Apache Velocity 성능 함정?
- 7. 자바 스크립트 메모리 관리 함정?
- 8. Perl에서 함정 알림을 모니터링하려면 어떻게합니까?
- 9. 싱글 톤 디자인 패턴 : 함정
- 10. Android 애플리케이션의 UnknownHost 예외
- 11. 안드로이드 애플리케이션의 캔버스를 픽셀 단위로 만들려면 얼마나 크지 않습니까?
- 12. 간단한 안드로이드 애플리케이션의 라이프 사이클에 대한 또 다른 질문
- 13. 안드로이드 앱에서 애플리케이션의 페이스 북 벽면에 피드를 게시하려면 어떻게해야하나요?
- 14. 안드로이드 애플리케이션의 두 이벤트 사이에 시간 차이를 넣고 싶습니다.
- 15. 안드로이드 애플리케이션의 TextView에서 텍스트의 첫 글자를 대문자로 사용하는 방법
- 16. 10 진수에서 부동 소수점 숫자로 변환 표현 - 함정
- 17. 스크럼 프로세스 관리 - 팁, 함정, 아이디어
- 18. 마스터 - 세부 시나리오를 사용하는 MVVM 함정
- 19. 다른 웹 사이트에 양식 삽입 - 함정
- 20. 쉘 스크립트를 사용하여 프로그램을 래핑하는 함정?
- 21. 아이폰 매장 이미지 (함정?) 내가하는 응용 프로그램이
- 22. MySQL에서 나왔다. 오라클로 돌아 가기 : 함정
- 23. 디렉토리/파일 권한 완화 : 함정, 보안 문제?
- 24. 안드로이드 서버에서 안드로이드 전화로 알리기
- 25. Flex 애플리케이션의 Futura 글꼴
- 26. 레거시 애플리케이션의 PAM 인증
- 27. 메일 애플리케이션의 팝업 바
- 28. 이것은 웹 애플리케이션의 취약점입니까?
- 29. UIKit 애플리케이션의 Cocos 2D?
- 30. Java EAR 애플리케이션의 로그백
Positronic Brain 모듈의 악의적 비트를 0으로 설정하는 것을 잊지 마십시오. – Powerlord
종료하지 않고 백그라운드에서 실행하려면 알림 표시 줄에 알림을 넣어야합니다. – Christian