[Kotlin] 코드 실행 시간 측정

[Kotlin] 코드 실행 시간 측정

수행 시간 측정 val startTime = getCurrentTime() // do something val endTime = getCurrentTime() println("elapsedTime : ${endTime - startTime}") 일반적으로 성능을 측정할때는 어떤 기능을 수행하는데 걸리는 시간을 측정합니다. 위 코드는 어떤 기능을 수행하는데 소요된 시간을 보여줍니다. Java Java에서는 시스템의 시간을 가져오는데 기본적으로 System.currentTimeMillis(), System.nanoTime()을 제공합니다. System.currentTimeMillis() System.currentTimeMillis()은 1970/1/1 00:00:00 UTC을 기준으로 현재 시간을 리턴합니다. 시스템의 TimeZone에 관계없이 항상 UTC 시간을 리턴하기 때문에 보통 “Unix time”, “epoch time"이라고 부릅니다. System.nanoTime() System.nanoTime()은 로컬 시스템에서 가장 정확한 현재 timestamp를 나노초 단위로 리턴합니다. (리눅스의 CLOCK_MONOTONIC과 같습니다) 정확한 현재 시간을 나타내는건 아니므로, 시간을 측정할때만 사용되어야 하며, 같은 프로세스, 같은 디바이스 간의 timestamp와 비교하여야 합니다. 현재 시간을 알고 싶으면 System.currentTimeMillis()을 사용해야 합니다. ...

September 16, 2019 · Juyeong Lee

[Gradle] Could not determine java version from 문제 해결

Could not determine java version from '9.0.4' JDK9을 설치한 이후로 ./gradlew를 실행하면 해당 에러가 발생한다. ./gradle/wrapper/gradle-wrapper.properties파일을 열어보니 gradle 4.1버전을 사용중 4.3.1버전 이상으로 업데이트하면 문제가 해결된다. #Sat Feb 24 17:55:43 KST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-all.zip 출처 gradle 홈페이지 => 4.3버전 이상으로 업데이트 한 이후 해당 에러가 사라졌다고 한다.

March 15, 2018 · Juyeong Lee
[Android] TextView에서 textIsSelectable 이 동작하지 않는 현상

[Android] TextView에서 textIsSelectable 이 동작하지 않는 현상

1. TextView 내의 글자 선택하기 xml내에서 textIsSelectable을 true로 설정해준다. <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="wrap_content" android:textIsSelectable="true" android:text="Hello World!" /> java코드에서 setTextIsSelectable을 true로 설정 해준다. mTextView.setTextIsSelectable(true); 위 두가지 중 한가지만 적용해주면 TextView의 글자를 선택해 복사 할 수 있다. 2. ListView(RecyclerView) 에서의 이슈 QA를 하던 중 TextView의 글자를 선택할 수 없다는 말을 들었다. 처음에는 롱클릭이 잘 되지만, 스크롤을 내리면 텍스트를 선택할 수 없다는 것이었다. 3. 해결방법 TextView를 상속받아서 View가 attach되는 시점에 disable -> enable을 시켜주면 해결 된다. (http://stackoverflow.com/a/38626276) ...

December 28, 2016 · Juyeong Lee

[Java] ExecutorService

Executor 제출된 Runnable task를 실행하는 객체. ExecutorService 하나 이상의 비동기 task의 진행상태를 추적하기위한 Future를 생성하는 메소드 를 제공하는 Executor. ExecutorService 예제1 간단한 ExectorService 사용법. ExecutorService executorService = Executors.newFixedThreadPool(10); executorService.execute(new Runnable() { public void run() { System.out.println("Asynchronous task"); } }); executorService.shutdown(); Executors.newFixedThreadPool() 라는 팩토리 메소드를 통해 10개의 스레드 풀을 사용하는 executorService를 만들고 "Asynchronous task"라는 내용을 출력한 뒤 종료. ExecutorService를 모두 사용한 뒤에는 자원 반납을 위해 반드시 종료해야하며 종료를 위해 두 개의 메소드shutdown(), shutdownNow() 가 제공된다. ...

February 21, 2016 · Juyeong Lee