refactor: add TileLayer.initLoader()
- need to initialize worker thread after (super) class is constructed
This commit is contained in:
parent
402cbe7e57
commit
b70090ea3a
@ -53,15 +53,18 @@ public abstract class TileLayer<T extends TileLoader> extends Layer implements M
|
||||
|
||||
// Instantiate TileLoader threads
|
||||
mTileLoader = new ArrayList<T>();
|
||||
|
||||
// RenderLayer is working in GL Thread and actually
|
||||
// drawing loaded tiles to screen.
|
||||
mRenderer = mRenderLayer = new TileRenderer(mTileManager);
|
||||
}
|
||||
|
||||
protected void initLoader() {
|
||||
for (int i = 0; i < mNumTileLoader; i++) {
|
||||
T tileGenerator = createLoader(mTileManager);
|
||||
mTileLoader.add(tileGenerator);
|
||||
tileGenerator.start();
|
||||
}
|
||||
|
||||
// RenderLayer is working in GL Thread and actually
|
||||
// drawing loaded tiles to screen.
|
||||
mRenderer = mRenderLayer = new TileRenderer(mTileManager);
|
||||
}
|
||||
|
||||
abstract protected T createLoader(TileManager tm);
|
||||
|
||||
@ -58,6 +58,7 @@ public class BitmapTileLayer extends TileLayer<TileLoader> {
|
||||
super(map, tileSource.getZoomLevelMin(), tileSource.getZoomLevelMax(), cacheLimit);
|
||||
mTileSource = tileSource;
|
||||
mFade = mTileSource.getFadeSteps();
|
||||
initLoader();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -39,10 +39,12 @@ public class VectorTileLayer extends TileLayer<VectorTileLoader> {
|
||||
|
||||
public VectorTileLayer(Map map) {
|
||||
super(map);
|
||||
initLoader();
|
||||
}
|
||||
|
||||
public VectorTileLayer(Map map, int minZoom, int maxZoom, int cacheLimit) {
|
||||
super(map, minZoom, maxZoom, cacheLimit);
|
||||
initLoader();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user