본문 바로가기
[Effective Objective-C] #35 좀비를 이용해 메모리 관리 오류를 디버깅하라 [Effective Objective-C] #35 좀비를 이용해 메모리 관리 오류를 디버깅하라 출처 : Effective Objective-C -메모리 관리 오류를 디버깅하는 것은 매우 어려운 일이다.할당 해제된 객체에 메시지를 보내는 일은 예상할 수 있듯이 전혀 안전하지 못하다.그러나 때때로 그것은 동작하기도 하고 동작하지 않기도 하는데 이는 객체가 사용했던 메모리를 덮어 썼느냐에 달려있다.메모리가 재사용되었는지 알 수 있는 방법은 없다.그로 인해 크래시가 가끔 일어난다.메모리의 일부분만 재사용되는 경우도 있는데 이 때 객체의 일부분은 여전히 유효하다.또한 순전히 운으로 또 다른 유효한 살아 있는 객체가 메모리를 덮어쓸 수도 있다.이 경우 런타임은 새로운 객체에 메시지를 보낼 것이고 객체는 응답을 할 .. 2017. 9. 29.
[Effective Java] 타입 정의는 표시 인터페이스를 사용하자. [Effective Java] 타입 정의는 표시 인터페이스를 사용하자. - 표시 인터페이스(marker interface)는 메소드 선언은 전혀 없으면서 클래스가 그 인터페이스를 구현하는지만 나타내는(표시하는) 인터페이스이다. - annotation 이 이를 대체할 수도 있겠지만, marker interface 는 annotation 에 비해 두 가지 장점이 있다. 1. marker interface 는 표시된 클래스의 인스턴스에 의해 구현되는 타입을 정의한다. 2. 더 정확한 목표를 가질 수 있다. ( annotation 은 class 한정이 아니다. ) - annotation 도 장점이 있다. 1. 주요 장점은 이미 발표되어 사용 중이라도 기본적으로 하나 이상의 주석 타입 요소들을 추가함으로써 더 많.. 2017. 1. 5.
[android] Google Map Android API V2 에 대하여.. Google Map Android API V2 참조 : https://docs.google.com/presentation/d/1IqHXiaLBSWiQb0Nc47YFk3_7NMfeaVfh4UiUIwVlzDQ/edit?pli=1 V2 의 특징 * MapFragment 지원* API Key 관리 용이해짐* 오버레이 클래스 생성하지 않고 마커 추가 가능, 마커 커스터마이징 및 말풍선(infowindow) 기능 지원. V2 사용하기 1. Google Play Services SDK rev3 이상 필요. ( SDK Manager 를 통해 설치 가능 ). /extras/google_play_services/libproject/google-play-services_lib 의 내용을 import 시킴 2. Applica.. 2013. 7. 13.
반응형