草庐IT

Schedulers

全部标签

android - Schedulers.io 创建了数百个 RxCachedThreadSchedulers

我在我的android应用程序中使用RxJava,它多次遇到OutOfMemoryError。我用设备管理器检查了一下,我刚刚注意到,我有超过200个线程,其中大部分处于等待状态,通常是RxCachedThreadSchedulers。OOMError由于线程过多而引发。我还注意到,如果我按下一个按钮,它会调用一个服务并获取一个token并将其缓存,线程数会增加5!所以,我用谷歌搜索并发现,Schedulers.io可以创建无限线程。当我用Schedulers.computation替换每个Schedulers.io时,问题就消失了,但这没有任何意义,因为我使用Schedulers.i

android - 在后台线程上运行独立的 Completable

我正在尝试创建一个可完成的并在后台线程上运行它,但是当我在Schedulers上订阅时它没有调用Action的run()。io()基本上我想通过RxAndroid做以下事情:Threadt=newThread(newRunnable(){publicvoidrun(){doSomething();}});t.start();使用RxAndroid我正在做以下事情:Completable.fromAction(newAction(){@Overridepublicvoidrun()throwsException{doSomething();}}).subscribeOn(Schedule

android - 没有找到类 rx.android.schedulers.AndroidSchedulers

我在我的应用程序中同时使用了rxjava/rxandroid和jackson-databind,但似乎这两个库无法协同工作。当我尝试运行我的应用程序时,它返回以下错误:java.lang.ClassNotFoundException:rx.android.schedulers.AndroidSchedulers这是我的gradle文件:applyplugin:'com.android.application'android{compileSdkVersion23buildToolsVersion"23.0.2"defaultConfig{applicationId"myapp"minS

android - RxJava 与 SQlite 和 ContentProvider 操作

我正在研究RxJava,为此我正在使用SQLite,编写一个辅助类SQLiteUtils以帮助更轻松地处理异步ContentResolver查询。例如,这是queryInBackground方法:staticpublicObservablequeryInBackground(finalContentResolvercr,finalUriuri,finalString[]projection,finalStringselection,finalString[]selectionArgs,finalStringsortOrder,finalCursorHandlerch){returnOb

java - RxJava 操作线程的高效方式

在我的项目中,我需要在不同的线程中处理对象。为了操纵流的行为,我创建了新的可观察对象来改变它们的observeOn()这样:apiService.getObjects(token)//Retrofit.compose(bindToLifecycle()).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).doOnNext(o->{//processinMainThread}).map(Observable::just)//createnewone,tochangethreadforit.obse

diffusers-Load pipelines,models,and schedulers

https://huggingface.co/docs/diffusers/using-diffusers/loadinghttps://huggingface.co/docs/diffusers/using-diffusers/loading有一种简便的方法用于推理是至关重要的。扩散系统通常由多个组件组成,如parameterizedmodel、tokenizers和schedulers,它们以复杂的方式进行交互。这就是为什么我们设计了DiffusionPipeline,将整个扩散系统的复杂性包装成易于使用的API,同时保持足够的灵活性,以适应其他用例,例如将每个组件单独加载作为构建块来组装

java - RxAndroid : UI changes on Schedulers. io() 线程

我在IO线程上有一个简单的工作,它正在更改主屏幕壁纸,之后我试图在UI线程上运行一些动画:AppObservable.bindFragment(this,Observable.just(0)).observeOn(Schedulers.io()).subscribe(v->setWallpaperOnSeparateThread());privatevoidsetWallpaperOnSeparateThread(){WallpaperHelper.setBitmapAsWallpaper(photoViewAttacher.getVisibleRectangleBitmap(),ge

android - Schedulers.immediate() 不适用于命令行 gradle 测试

我正在尝试测试使用RxJava从交互器检索数据的演示器。在设置方法中,我正在做类似的事情:@Beforepublicvoidsetup(){RxAndroidPlugins.getInstance().registerSchedulersHook(newRxAndroidSchedulersHook(){@OverridepublicSchedulergetMainThreadScheduler(){returnSchedulers.immediate();}});}所以在我的测试方法中我可以测试演示者调用:@TestpublicvoidtestLoad(){presenter.loa

java - 单元测试时的 RxJava Schedulers.immediate() 行为

我正在尝试为使用响应式(Reactive)接口(interface)的DAO对象编写测试。我有一个包含食谱的表,我想测试当我向该表插入数据时,订阅者会收到包含食谱的列表。我正在使用TestSubscriber类并对该类执行断言。我的简单测试如下所示:@TestfuntestSubscriber(){insertItem()valtestSubscriber=TestSubscriber.create>()recipeDao.getRecipes().subscribeOn(Schedulers.immediate()).subscribe(testSubscriber)testSubs

android - RxAndroid, Retrofit 2 单元测试 Schedulers.io

刚学RxAndroid,可惜我学的书没有单元测试。我在谷歌上搜索了很多,但没有找到任何以精确方式涵盖RxAndroid单元测试的简单教程。我基本上使用RxAndroid和Retrofit2编写了一个小型RESTAPI。这是ApiManager类:publicclassMyAPIManager{privatefinalMyServicemyService;publicMyAPIManager(){HttpLoggingInterceptorlogging=newHttpLoggingInterceptor();//setyourdesiredloglevellogging.setLeve
12