안드로이드 개발 질문/답변
(글 수 45,052)
액티비티가 여러개가 있구요.. A, B, C 라고 하겠습니다
A의 데이타를 B나 C로 줄때 보통 인텐트를 많이 쓰는것 같던데요
인텐트 이외에도 서비스, 브로드캐스트의 방법이 있잖습니까
당연히 각각의 상황에 맞게 쓰는것이겠지만..
폰의 자원을 더 많이 잡아먹는게 있을까요? (말이 좀 이상하네요;;)
1. 인텐트로 넘김
2. 액티비티를 넘어갈때마다 서비스로 데이타를 넘겨서 다시 받음
3. 브로드캐스트 사용
같은 데이타를 A에서 B로 위 3가지 방식으로 넘긴다고 가정하구요
어떤 방식이 폰을 더 버벅거리게 하는지가 궁금합니다 ㅎㅎ
이왕 만드는거 좀 더 좋은 방법이 있다면 그 방향으로 만들었으면 해서 질문드립니다
아니면.. 이런 걱정은 전혀 상관없이 그냥 깔끔하게 잘 만들면 안버벅거리는건지요;;
조언 부탁드리겠습니다~
2010.12.29 13:06:17
서비스는. 그런용도가 아닙니다..
액티비티 lifecycle 상 background 작업이 원활하지 않기 때문에 background 에서 계속 돌아줄 놈이 필요해서 만드는거죠
데이타를 공유하기위해 서비스를 만든다 ?.. 뭐 서비스 가 데이타 집합소 및 데이타 가공을 하는거라면 .. 그렇게 해도 되지만
간단히 데이타를 하나 옮기기위해 쓰는건 시스템 자원만 소모하는것 같습니다..
그리고 브로드 캐스트를 하나 액티비티를 실행을 시키나 어쨌든 Data 가 넘어가는건 Intent 를 통해 하는겁니다.
Intent 는 담을수 있는 자료형이 한정되어 있죠.
그리고 액티비티는 실행시킬때 나 종료할때만 전달할수 있고 브로드 캐스트는. 나 아닌 다른 사람도 받을수 있다는점이 고려 대상이 되겠죠. 그리고 브로드캐스트 같은 경우를 리시버 의 lifecycle 도 고려해야하고.
그외엔.. DB 를 통해 자료를 공유하거나..
preference 나 file 을 통해 공유하거나..
웹에 데이타를 넣고 쓰거나...
여튼 방법은 많겠죠..



