TiL
-
TID(Today I DId)로 전환TiD 2024. 3. 24. 23:59
TIL를 TID로 바꿉니다. 사람이 매일 배울 수는 없다고 생각하기 때문에... 그래도 매일 뭔가는 하니까
-
[TiL]2023년 6월 20일카테고리 없음 2023. 6. 20. 01:44
# 7 Pro-tips for Room https://medium.com/androiddevelopers/7-pro-tips-for-room-fbadea4bfbd1 7 Pro-tips for Room Learn how you can get the most out of Room medium.com 안드로이드 Room을 활용하는 7가지 방법이다. 안드로이드 developer 페이지에서 room 글을 보다가 링크가 있길래 확인했는데 2017년 글이지만 충분히 쓰기좋은 팁들인듯 하다.
-
[TiL]2023년 5월 3일TiD 2023. 5. 3. 01:46
#Kotlin inner, nested Class (RecyclerView 에서 Adapter와 ViewHolder) 리사이클러뷰 adapter를 사용하려다가 과거에는 viewholder를 항상 어뎁터의 inner 클래스로 작성했었는데 코드리뷰에서 항상 inner로 사용하지 말라는 조언을 듣기도 했고 메모리누수가 발생한다는 사실을 알고 있었지만 제대로 알지 못 했고 항상 그냥 inner 클래스로 사용했기에 알아봤다. (자바는 기본적으로 inner 코틀린은 nested다.) 어떤 클래스의 inner클래스를 작성하고 사용하게 되면 항상 묵시적으로 외부 클래스의 변수들을 참조하게 된다. (그래서 생성자에 없어도 그냥 사용할 수 있다.) 그렇게 되면 사용하지 않는 데이터들도 드러나지 않게 계속 갖고있기 때문에 ..
-
[TiL]2023년3월20일TiD 2023. 3. 20. 17:40
#Context를 주입하는 이유, 방법 Activity Context를 마구잡이로 사용할경우 Activity의 생명주기를 벗어나는 사용상황에서 메모리 누수가 발생할 수 있다. 고로 Aplication의 생명주기를 따르는 Application Context를 주입해 사용하는 것이 나은 상황이 있을 수 있다. Hilt 를 사용해 Applicaton Context를 주입해 적절히 사용할 수 있다. ui를 다루는 단발적인 사용은 Activity Context를 사용하는 것이 낫다. https://lakue.tistory.com/82
-
[TIL]2023년3월15일TiD 2023. 3. 15. 20:58
#안드로이드12(SDK 31) 이상 부터의 위치 권한 코드상에서 정확한 위치(FINE_LOCATION)를 요청해도 사용자는 대략적인 위치(COARSE_LOCATION)만 허용할 수 있다. 이를 고려해 정확한 위치를 요청할 경우 대략적인 위치를 요청도 함께 해야한다. 그렇지 않을경우 아래의 오류코드를 Logcat에 남긴다. ACCESS_FINE_LOCATION must be requested with ACCESS_COARSE_LOCATION. 그리고 대략적인 위치의 오차 범위는 약 3제곱키로미터고 정확한 위치의 오차 범위는 일반적으로 50미터이다. (정확한 위치의 오차는 기기 성능이나 장소에 따른 영향을 생각한듯) 위치 정보 액세스 권한 요청 | Android 개발자 | Android Developers ..
-
[TIL]2023년3월6일TiD 2023. 3. 6. 23:22
#상수를 사용하는 이유 변수의 경우 런타임시 객체를 생성하는데 시간이 더 소요되어 성능의 하락이 있다. 따라서 늘 고정적으로 사용할 값은 상수를 통해 객체의 생성없이 메모리에 값을 고정하여 사용함으로써 성능을 향상시킬 수 있다는 장점이 있다. (출처: https://engineer-gyu.tistory.com/32) #데이터 바인딩에서 두 문자열을 합치는 방법 ``로 각 문자열을 묶는다 ex) text="@{viewmodel.humidity+`%`}" (출처: https://stackoverflow.com/questions/40039942/i-want-to-concat-two-strings-for-a-textview-in-android-data-binding-api)