{"id":15018509,"url":"https://github.com/nativescript/android-snapshot","last_synced_at":"2025-10-19T16:31:24.275Z","repository":{"id":141976970,"uuid":"56836832","full_name":"NativeScript/android-snapshot","owner":"NativeScript","description":"Feeding the Android Runtime with V8 heap snapshots","archived":false,"fork":false,"pushed_at":"2017-08-15T10:16:58.000Z","size":69414,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":39,"default_branch":"master","last_synced_at":"2024-10-29T15:51:55.236Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NativeScript.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"NativeScript","open_collective":"nativescript"}},"created_at":"2016-04-22T07:48:09.000Z","updated_at":"2023-11-03T17:12:19.000Z","dependencies_parsed_at":"2023-07-26T00:31:13.286Z","dependency_job_id":null,"html_url":"https://github.com/NativeScript/android-snapshot","commit_stats":{"total_commits":124,"total_committers":14,"mean_commits":8.857142857142858,"dds":0.2661290322580645,"last_synced_commit":"20401e638718a4772d7811f4a3d777be630a991c"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Fandroid-snapshot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Fandroid-snapshot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Fandroid-snapshot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Fandroid-snapshot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NativeScript","download_url":"https://codeload.github.com/NativeScript/android-snapshot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237163249,"owners_count":19265237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T19:52:03.286Z","updated_at":"2025-10-19T16:31:14.264Z","avatar_url":"https://github.com/NativeScript.png","language":"JavaScript","funding_links":["https://github.com/sponsors/NativeScript","https://opencollective.com/nativescript"],"categories":[],"sub_categories":[],"readme":"## Deprecated\n\nThe plugin is now deprecated. V8 heap snapshot generation is now integrated with Webapck bundling being an optional optimization step after code bundling. We recommend migrating your apps to use `nativescript-dev-webpack`with enabled snapshot generation. More info on how to setup Webpack bundling in NativeScript you can find [here](https://docs.nativescript.org/tooling/bundling-with-webpack).\n\nThis repo provides tools to generate and distribute [V8 heap snapshot](https://v8project.blogspot.bg/2015/09/custom-startup-snapshots.html) packages of the [Core NativeScript](https://github.com/NativeScript/NativeScript) / [NativeScript+Angular](https://github.com/NativeScript/nativescript-angular) modules to reduce the startup time of the [NativeScript Android Runtime](https://github.com/NativeScript/android-runtime).\n\nFor more information follow [NativeScript#1563](https://github.com/NativeScript/NativeScript/issues/1563) and look at the [Android Runtime docs](https://docs.nativescript.org/runtimes/android/advanced-topics/V8-heap-snapshots).\n\n## What You'll Find\n* [`/bundler`](./bundler) - A JavaScript module bundler and tool to create snapshot packages.\n* [`/plugin`](./plugin) - NativeScript plugin that downloads the correct snapshot package and prepares the app for using it.\n\n## Getting Started\n\nTo install [the plugin](./plugin):\n```shell\ntns install android-snapshot\n```\n\n## Results\nStartup time tested on a Nexus 5 device:\n\n| Configuration             | Core NativeScript | NativeScript+Angular   |\n| ------------------------- | ----------------: | ---------------------: |\n| Non-bundled               |            2350ms |                 4000ms |\n| Bundled                   |            2100ms |                 3600ms |\n| Bundled with snapshot     |            1600ms |                 2100ms |\n\n## Requirements\n* NativeScript CLI 2.1\n* NativeScript Runtime for Android 2.1\n\n## Limitations\n* APK file size will be increased with 1.5MB (6MB with Angular).\n* The installed application size will be increased with an additional 1.2MB (5MB with Angular).\n* It is not possible to step into the embedded script from VS Code. You must use the CLI if you want to debug it.\n* LiveSyncing may work in most cases, but is not officially supported.\n* Snapshots are not compatible with the [NativeScript webpack plugin](https://github.com/NativeScript/nativescript-dev-webpack).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativescript%2Fandroid-snapshot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnativescript%2Fandroid-snapshot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativescript%2Fandroid-snapshot/lists"}