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
|
// Instantiate TileLoader threads
|
||||||
mTileLoader = new ArrayList<T>();
|
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++) {
|
for (int i = 0; i < mNumTileLoader; i++) {
|
||||||
T tileGenerator = createLoader(mTileManager);
|
T tileGenerator = createLoader(mTileManager);
|
||||||
mTileLoader.add(tileGenerator);
|
mTileLoader.add(tileGenerator);
|
||||||
tileGenerator.start();
|
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);
|
abstract protected T createLoader(TileManager tm);
|
||||||
|
|||||||
@ -58,6 +58,7 @@ public class BitmapTileLayer extends TileLayer<TileLoader> {
|
|||||||
super(map, tileSource.getZoomLevelMin(), tileSource.getZoomLevelMax(), cacheLimit);
|
super(map, tileSource.getZoomLevelMin(), tileSource.getZoomLevelMax(), cacheLimit);
|
||||||
mTileSource = tileSource;
|
mTileSource = tileSource;
|
||||||
mFade = mTileSource.getFadeSteps();
|
mFade = mTileSource.getFadeSteps();
|
||||||
|
initLoader();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -39,10 +39,12 @@ public class VectorTileLayer extends TileLayer<VectorTileLoader> {
|
|||||||
|
|
||||||
public VectorTileLayer(Map map) {
|
public VectorTileLayer(Map map) {
|
||||||
super(map);
|
super(map);
|
||||||
|
initLoader();
|
||||||
}
|
}
|
||||||
|
|
||||||
public VectorTileLayer(Map map, int minZoom, int maxZoom, int cacheLimit) {
|
public VectorTileLayer(Map map, int minZoom, int maxZoom, int cacheLimit) {
|
||||||
super(map, minZoom, maxZoom, cacheLimit);
|
super(map, minZoom, maxZoom, cacheLimit);
|
||||||
|
initLoader();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user