Limits and Application Control

This page is dedicated to listing the current SDK constraints and learning how to apply product-specific policies such as storage limits, plan tiers, expiration, cellular usage, and deletion rules in the application layer.

The following are the current Android SDK constraints:

ItemCurrent implementation
PacksEach region consists of one or more pre-generated region packages; there is no maximum package limit
TilesNo SDK-side tile-count limit; tileCount is only a catalog estimate
RegionsNo SDK-side limit on the number of installed regions; the practical limit depends on device storage and the file system
AreaOnly pre-generated regions in the catalog can be selected; the public API does not support downloads for arbitrary bounds or polygons
ZoomDetermined by the region package's minZoom / maxZoom. The application cannot specify a separate range for a download task
BytesNo SDK-wide storage cap; enqueue and resume require the remaining data size plus a “max(100 MiB, 20%)” safety margin
Time period / expiryThe SDK does not automatically expire or periodically delete regions
DeviceData resides in an app-specific resource path; uninstalling the application, clearing application data, or deleting the path from host code removes the data
CacheThe SDK manages the map cache and installed region data; the application must not directly read, write, or delete internal database files
Concurrent downloadsA maximum of three region tasks run concurrently; remaining tasks are queued
Tile serverRegional Offline supports only NGLTomTom. NGLMapTiler is supported only for online maps.

Application control over product policy:

CapabilityImplementation
Download selectionSelect a regionId from the catalog, then call download()
Size estimationUse totalSize, tarSize, downloadedBytes, and totalBytes
Download warningsBefore enqueueing, the application displays data-usage, roaming, storage, and plan warnings
DeletioncontrolDownload(regionId, DownloadAction.DELETE)
UpdatesCompare versions and call download(clearBefore = true). The SDK does not update automatically
ExpirationDefine the policy in the application or on the server, then call DELETE
Maximum storage by tierThe SDK does not recognize tiers; the application totals OfflineInstalledRegion.totalBytes and enforces the limit before enqueueing

The SDK does not enforce product-level limits such as plan tiers, maximum storage by subscription, expiration policy, cellular-download restrictions, or roaming rules. The SDK also does not define any server-side entitlements, account plans, and CDN policies. Implement these policies in the application before enqueueing downloads, using catalog size estimates, installed-region byte counts, and account-level entitlements from your product layer.