Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion recipes_source/android_native_app_with_custom_op.rst
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ Java 코드
이전 단계에서 ``compute.pt`` 을 ``NativeApp/app/src/main/assets`` 으로 복사했기 때문에, 이 파일은 Android 애플리케이션에 포함이 되는 asset이 되었습니다. Android 시스템은 그 파일에 접근할 수 있는 스트림만 제공합니다.
이 모듈을 LibTorch에서 사용하고자 한다면, 디스크 상에서 파일로 만들어야(materialize) 합니다. ``assetFilePath`` 함수는 asset 입력 스트림에서부터 데이터를 복사해서 디스크에 기록한 다음 파일의 절대 경로를 반환합니다.

액티비티의 ``OnCreate`` 메소드는 액티비티 생성 직후 호출됩니다. 이 메소드 안에서 ``assertFilePath`` 를 호출하고, 앞서 생성한 파일을 JNI 호출을 통해 네이티브 코드로 전달하는 ``NativeClient`` 클래스를 호출합니다.
액티비티의 ``OnCreate`` 메소드는 액티비티 생성 직후 호출됩니다. 이 메소드 안에서 ``assetFilePath`` 를 호출하고, 앞서 생성한 파일을 JNI 호출을 통해 네이티브 코드로 전달하는 ``NativeClient`` 클래스를 호출합니다.

``NativeClient`` 는 내부에 private 클래스인 ``NativePeer`` 가 있는 헬퍼 클래스로서, 애플리케이션의 네이티브 부분과 같이 동작하는 클래스입니다. 이 클래스의 static 블록에선 이전 단계에서 추가했던 ``CMakeLists.txt`` 와 함께 빌드하는 ``libpytorch_nativeapp.so`` 를 읽습니다. static 블록은 ``NativePeer`` 를 처음 참조할 때에 같이 실행이 됩니다. ``NativeClient#loadAndForwardModel`` 안에서 일어납니다.

Expand Down