2009-08-24 3 views
5

안드로이드를 프로그래밍 할 때 기억해야 할 함정이나 포인트가 있습니까? 목록에는 멀티 스레딩, 영구 저장 장치 등에 관한 주제가 포함될 것입니다.안드로이드 애플리케이션의 함정

+2

Positronic Brain 모듈의 악의적 비트를 0으로 설정하는 것을 잊지 마십시오. – Powerlord

+0

종료하지 않고 백그라운드에서 실행하려면 알림 표시 줄에 알림을 넣어야합니다. – Christian

답변

5

Android 개발자는 Context references를 유지하기 때문에 avoiding memory leaks에 관한 좋은 게시물을 보유하고 있습니다. 거기에는 다른 많은 흥미로운 게시물도 많이 있습니다.

2

나는 그 자체로 함정이라고 부르지는 않겠지 만,이 컴퓨터는 단지 벽에 꽂혀있는 컴퓨터가 아니라는 것을 항상 기억해야합니다. 다양한 방법으로 업그레이드 할 수 있습니다. 업그레이드주기는 약 2 년마다 (요즘 표준 모바일 계약 기간)이며 하드웨어는 그 기간 동안 가장 빠르지 않고 (B) 정적이지 않습니다. 고려하는

것들 :

1) 어떻게 일이 앱이 배터리 수명에 영향을 미치지 않습니다합니까? 당신은 밝은 그림을 그 자리에서 튀기고 있습니까? 백그라운드에서 많은 스레드를 실행하고 있습니까? 서비스?

2) 애플리케이션이 기기에서 얼마나 많은 공간을 차지해야합니까? 정보가 서버에 보관되어 필요할 때만 임시로 사용할 수 있도록 전송됩니까?

3) # 2와 관련하여 앱이 불량/존재하지 않는 네트워크/모바일 연결을 허용하고 있습니까? 그것은 EDGE 네트워크 대 3G에서 어떻게 작동합니까?

나는 더 많은 것을 생각 해낼 수있을 것이라고 확신하지만 이것은 내 애플 리케이션을 쓰는 동안 내가 명심하는 것이다.

12

여기에서 말할 수있는 많은 것들이 있습니다.

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는 안드로이드 개발자 블로그를 따라 시작하는 방법이있다 나는 열심히하고 고통스러운 방법을 배웠) .

관련 문제