1.When do they get GC-ed ? Do I have to keep track of them, and if one has a bitmap inside, should I abandon it as soon as possible? Do they perhaps get GC-ed only after the activity is really destroyed (and not because of configuration changes) ?
由于loader lifecycle
它与活动/片段生命周期相关联,因此可以安全地假设垃圾收集几乎同时发生。看看#8 加载器的生命周期。可能会给你一些想法。
2.I've noticed they have states of being stopped. Does this somehow allow me to pause them?
不,据我所知,装载机没有onPause()
发言权。
3.If #2 is true, How would I implement a loader that can be paused on some points of itself?
这个我真的没有答案。想知道这个自己的解决方案。
4.Can fragments also have Loaders? As I've noticed, it's only for activities.
当然,片段可以有加载器。只需loaderManager
在onActivityCreated()
方法中初始化
5.if #4 is false, what is the recommended way to use loaders in the design pattern of navigation-drawer that replaces fragments in the container?
4 是真的。所以我猜这个问题无关紧要。
6.Can AsyncTaskLoader be interrupted like AsyncTask (or threads)? I've looked at its code and at the API, but I can't find it. I've also tried to find a workaround, but I didn't succeed.
我不知道你是什么意思中断装载机。但是,如果您的意思是具有类似于isCancelled()
方法的东西,那么cancelLoad()
在AsyncTaskLoader
. 完整的流程就像cancelLoad()
-> cancel()
->onCancelled()
我认为。
7.If #6 is false, is there an alternative? For example, if I know that the loader doesn't need to load something, I could just stop it right away. One way I can think of is to set a flag (maybe AtomicBoolean, just in case) that will tell it to stop, and check this value sometimes within. Problem is that I will need to add it even inside functions that it uses, while an easier way would be to call "Thread.sleep(0)" or something like that.
又不相干了?
9.Do AsyncTaskLoaders work together, at the same time, or are they like the default, current behavior of AsyncTask, which runs only on a single thread ?
在单个线程上运行。
8.Is there somewhere an explanation of the lifecycle of Loaders?
据我所知:
创建活动/片段时,加载程序启动->onStartLoading()
当活动变得不可见或片段被分离时,加载器停止->onStopLoading()
重新创建活动或片段时没有回调。将LoaderManager
结果存储在本地缓存中。
当活动/片段被销毁 ->restartLoader()
或被destroyLoader()
调用并且加载程序重置时。
我希望这有帮助。我可能对某些答案有点偏离。我自己也在不断地学习新事物。干杯。