336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

4월 28일 Google Developers Summit 행사가 광화문 근처에서 있었다.




어제 행사에서는 웹쪽 세션이 부족하다는 의견이 있어서 그쪽을 대폭 늘렸다고


처음 두개 공통 세션에서는,

Progressive Web App과 안드로이드 N 에 대해서 다뤘다.


저의 관점, 그리고 관심사 위주로 적은 것이기 때문에 이날 내용중에 빠지거나 부실한 면이 있을 수 있습니다.

Progressive Web App

앱을 만들지 않고도 충분히 완성도 높은 웹앱을 만들수 있다는 내용이었다.

예제 사례로 http://www.flipkart.com/ 를 소개했다.

모바일 폰으로 위 사이트를 들어가보는걸 추천한다. 




백그라운드 작업과 notification 은 Service Worker (javascript) 을 통해서 수행이 된다고.

푸시는 web push 를 사용하면 된다.




하지만 아직 크롬, 파폭, 오페라 브라우저만 Service work 를 지원한다고


(그렇다면 아이폰쓰는 사람중에 크롬이 아니라 사파리를 쓰는 사람에게는 서비스를 못하는것 이라는건가...?)


Android N 새로운것들

올해 가을에 나올 예정인 N .. 지난번 만큼은 아니지만 그래도 큰 변화가 있었다(고 한다)

(당장 멀티 윈도우만 해도 큰데 ..)


이번 버전에서는 예전과 다르게 빠르게 개발과 프리뷰 버전이 공개 되었다고

공개하고 개발자들에게 피드백을 받아서 완성도를 더 높이고자 한다고 한다.


N preview 신청을 하면 OTA로 이것을 받아볼수 있다고,

실제 사용하는 메인 폰인경우 권장하지 않는다고 강조했다.

nexus 5x 를 사용하고 있지만(메인폰), 5 까지 지원했다면 더 많은 개발자들이 N 테스트를 할 수 있었을텐데 아쉬운 점이었다. 


멀티 윈도우!


사진에서 보이는 세가지 다 지원을 할거라고 . 

현재는 맨 왼쪽의 스플릿 뷰 형태만 구현이 되었다고 한다. (아직 개발 중인 N)




안드로이드 가이드라인에 잘 맞춰서 개발 했다면, 별 문제 없이 멀티 윈도우 환경에서 사용이 가능하다고.


멀티 윈도우는 다음에 이어지는 안드로이드 세션에서 더 자세하게 이야기하기로 한다.


Doze Mode 개선


마시멜로에 도입된 Doze 모드인데, 이게 동작하기 위해서는

화면이 꺼져있고, 충전중이지 않으며, 일정 시간 이상 움직임이 없어야 Doze 로 전환이 된다.

(활성화 되는 상황이 밤에 잘때 충전기 연결 안해놓은 상황이랄까?)


하지만 실생활에서는 주머니나 가방에 넣어둔채 이동하는 경우가 많아 Doze 활성화가 잘 안된다고...

그래서 Doze like 상태를 추가한다고 한다. 진짜 Doze 는 아니지만 몇가지 기능(Network, Jobs,Sync)을 차단해서 배터리를 절약하게 한다. 






Doze 최적화


주의할점

GCMNetworkManager 는 compat쪽 클래스인데, gcm 과는 관계 없는 jobscheduler 클래스라고...

AlarmManager 의 setExactAndAllowWhileIdle 는 정확하게 동작할것 같은 느낌인데, 실제로는 doze 때문에 15분정도 딜레이 되어 실행이 될수 있다고 한다.

whiltelisting 은 사실상 안된다고 보는게 맞다고. (사례가 거의 없다고 한다)



백그라운드 데이터 제한을 더 잘 쓸수 있도록 개선되었다고 한다.

앱에서 확인할 수 있는 api 도 추가되었다고




네트워크 상태가 바뀌었을때 CONNECCTITY_CHANGE 라는 broadcast 가 발생하는데, 

문제는 이것을 받은 앱들이 수십개(?)이상 되어서, 동시에 깨어나 메모리와 자원을 많이 소모해 폰을 전반적으로 느리게 하는 현상이 있어서 N 부터는 이것을 사용이 안되게 한다고.

(manifest 에 receiver 등록하는 경우에는 안되고, 코드로 register 하는 경우에는 동작 한다고 한다)

 



사진 찍을때, NEW_PICTURE, NEW_VIDEO 같은 것도 broadcast 되어 사진 앱을 느리게 한다고 하는데, 이건 아예 제거 해버린다고 한다.





이 세션 이후에는 웹과 안드로이드 트랙으로 나뉘었다. 

행사장에서 카메라로 동영상 촬영도 했으니, 추후 영상으로 공개 될수도 있을것 같다.


안드로이드 세션

멀티 윈도우

자리를 옮겼는데, 가운데쯤에서 살짝 뒷편에 앉았는데, 

스크린이 좀 낮게 배치 되어있어서, 스크린의 절반부분 윗부분만 보여서 화면을 보는데 불편했다.

손을 번쩍 들고 찍어도 사람 머리들이...



기존 삼성 갤럭시 폰에서 보이던 그것과 매우 유사하다.


멀티 윈도우 사용 방법과,

삼성 멀티 윈도우와 N 의 멀티 윈도우의 같은점과 차이점에 대해 설명하는 부분도 있었고,

어떤경우 멀티 윈도우 사용이 가능하고, 안되는 것인지도 설명했었다.

(자세한 내용은 생략···· 뒤에 샘플 링크 참고)







쉬는 시간에 물어봤는데, 

기존 삼성 멀티 윈도우하고 N 하고, 겹치는 부분도 많고 다르게 동작하는 부분이 많아서 

개발 과정에서 협력하면서 진행하고 있다고 한다. 개발중인 삼성폰에 올려보면 삼성 멀티 윈도우와 N의 멀티 윈도우가 중첩해서 사용가능하다는 이야기도.. 


Android Studio 2.0

발표 당일 전날 2.1 이 공개되었다. 

2.1 이 되면서 instant run 등 많은 버그 수정과 성능 향상 (instant run 에서 25%정도 향상) 이 되었다고 한다.


android studio 메모리만 늘려주고 사용했었는데, 

내부의 gradle 돌아갈때도 넣어줄 수 있는 옵션이 있었다. 


안보여 안보인다구!!! (그래서 아래에 적어 놓았다)

gradle.properties 

org.gradle.parallel=true
org.gradle.jvmargs=-Xmx4096m
android {
... ...

dexOptions{
incremental true
javaMaxHeapSize "3g"
}

메모리는 자신의 시스템에 맞춰서 넉넉히 적어주길..


취소선은 2.0에서 2.1로 바뀌면서 그어진 내용들


아참, 에뮬레이터 2.0이 최소 3배에서 10배는 빨라졌다고...


ExoPlayer 



독특한 발음으로 발표하시던 발표자분


용어 정리인데, ExoPlayer 는 위의 것들을 지원한다


몇년전 미디어 프로젝트를 할때 ios 쪽 videoview 는 dash 부분을 지원하는것을 보고 신기해 했었는데 이것은 지원한다.



그 다음 세션이었던 기술과 정책 세션은 별 내용이 없어서 패스


웹쪽 트랙 내용이 공유 되면 그쪽도 살펴 봐야겠다.



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

종종 올리는 포스팅에도 적어놓았지만 파일서버로 ubuntu 14.04 LTS 를 사용중이다.


파일서버라고는 하지만 에어플레이, 타임머신, SMB 등등 의 서비스를 세팅해서 사용중인데,

안드로이드 폰에서 음악을 플레이 하면, 서버에 연결되어있는 스피커에서 소리가 나게 하고 싶었다...


몇가지 방법을 생각해보았지만, bluetooth 리시버로 세팅해놓으면 되겠다는 생각을 하고 삽질을 시작했다.

USB 블루투스 동글을 연결하고, 관련 패키지 설치를 했다.

blueman, pulseaudio-module-bluetooth (정도 설치했었나..)


암튼 페어링이 제대로 되고, 장치 화면에서도 잘 동작하는것처럼 보였다...


음?
소리가 안나잖아??

뭔가 연결은 되었고, 소리가 나와야 하는것 같은 느낌적 느낌인데..

구글링해가며 설정도 이것저것 만져봤지만 FAIL


시스템 로그를 봤다...

[pulseaudio] module.c: Failed to load module "module-bluetooth-device" (argument: "path=/org/bluez/1001/hci0/dev_..... address=.....FC profile=a2dp_source source_properties=device.icon_name=blueman card_properties=device.icon_name=blueman"): initialization failed.


검색 키워드에 14.04 까지 넣어서 검색을 해봤더니 같은 증상인 글들이 보인다.


그런데 이거 이거 버그였군?? Issues with Blueman 1.23 an A2DP

ㅠㅠ


이슈 상태는 Closed, 해당 패키지는 아직 14.04에 패치된것이 반영이 안되어있다.

하지만 개발 버전의 패키지를 ppa 로 사용할 수 있었다.

https://launchpad.net/~blueman/+archive/ubuntu/ppa

ppa:blueman/ppa 추가 해주고

blueman 패키지 업데이트 했더니 잘 된다





336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

작년 여름에 겪어서, 해결 했던 문제인데

그때당시 페이스북에만 공유해놓고 블로그에는 따로 적어놓지 않아서,

다시 생각난김에 블로그에도 기록용으로 글을 남겨둔다.


집에 파일서버로 hp 마이크로 서버 (ubuntu) 를 쓰고 있는데 , 

FTP는 속도가 제대로 나오는데, 삼바는 상대적으로 느린 속도로 나와서 프로토콜이나 프로그램이 원래 그런가보다 생각하면서 그러려니 하고 쓰고있었다. 속도가 몇배차이나는게 이상해서 구글링 해봤더니 옵션 바꿔줘서 해결가능한걸로 

http://www.eggplant.pro/…/faster-samba-smb-cifs-share-perf…/
여기 내용 전부 따라할 필요는 없고, 
socket options 부분만 바꿔주면 충분한 속도 향상이 있었음