andorid jar/라이브러리 소스 분석 Bolts
Bolts:
역할:
크로스 스레드 코드를 체인식으로 실행하고 데이터를 전달하는 데 사용
밤:
Task.call(new Callable() {
@Override
public Boolean call() throws Exception {
return true;
}
}, Task.UI_THREAD_EXECUTOR);
Task.callInBackground(new Callable() {
@Override
public Boolean call() throws Exception {
return false;
}
});
Task.callInBackground(new Callable() {
@Override
public Boolean call() throws Exception {
return true;
}
}).onSuccess(new Continuation() {
@Override
public Object then(Task task) throws Exception {
if (task.getResult()) {
return null;
} else {
return new Object();
}
}
}, Task.BACKGROUND_EXECUTOR).continueWith(new Continuation
원본 코드 판독:
내부에서 다중 Executor 서비스 대상을 유지하고 직렬로 호출합니다.
또한 내부 변수를 유지보수함으로써 지정된 절차에서 특정한, 값,값은Task의 대상getResult를 통해 가져옵니다.
UIThread
/**
* An {@link java.util.concurrent.Executor} that runs tasks on the UI thread.
*/
private static class UIThreadExecutor implements Executor {
@Override
public void execute(Runnable command) {
new Handler(Looper.getMainLooper()).post(command);
}
}
BackgroundThread
private BoltsExecutors() {
background = !isAndroidRuntime()
? java.util.concurrent.Executors.newCachedThreadPool()
: AndroidExecutors.newCachedThreadPool();
scheduled = Executors.newSingleThreadScheduledExecutor();
immediate = new ImmediateExecutor();
}
소스:https://github.com/BoltsFramework/Bolts-Android
도입:
implementation 'com.parse.bolts:bolts-android:1.2.0'
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.