{"id":15131504,"url":"https://github.com/friendlyrobotnyc/tinydancer","last_synced_at":"2025-09-28T23:30:58.432Z","repository":{"id":48148658,"uuid":"42280005","full_name":"friendlyrobotnyc/TinyDancer","owner":"friendlyrobotnyc","description":"An android library for displaying fps from the choreographer and percentage of time with two or more frames dropped","archived":true,"fork":false,"pushed_at":"2019-07-19T01:42:55.000Z","size":9788,"stargazers_count":1893,"open_issues_count":10,"forks_count":172,"subscribers_count":58,"default_branch":"master","last_synced_at":"2024-09-27T03:42:28.160Z","etag":null,"topics":["android","android-library","fps","overlay","performance","performance-analysis"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/friendlyrobotnyc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-11T01:27:25.000Z","updated_at":"2024-09-26T02:21:10.000Z","dependencies_parsed_at":"2022-08-12T19:40:36.803Z","dependency_job_id":null,"html_url":"https://github.com/friendlyrobotnyc/TinyDancer","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friendlyrobotnyc%2FTinyDancer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friendlyrobotnyc%2FTinyDancer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friendlyrobotnyc%2FTinyDancer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friendlyrobotnyc%2FTinyDancer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/friendlyrobotnyc","download_url":"https://codeload.github.com/friendlyrobotnyc/TinyDancer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234569826,"owners_count":18854134,"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":["android","android-library","fps","overlay","performance","performance-analysis"],"created_at":"2024-09-26T03:42:34.269Z","updated_at":"2025-09-28T23:30:56.432Z","avatar_url":"https://github.com/friendlyrobotnyc.png","language":"Java","readme":"# DEPRECATED\n\nTinyDancer is deprecated. No more development will be taking place. Check out the [Google Android developer documentation for UI performance testing](https://developer.android.com/training/testing/performance) \n\n# Tiny Dancer \n\nA real time frames per second measuring library for Android that also shows a color coded metric.  This metric is based on percentage of time spent when you have dropped 2 or more frames.  If the application spends more than 5% in this state then the color turns yellow, when you have reached the 20% threshold the indicator turns red.  \n\n **New** Double tap overlay to hide!\n\n*“Perf Matters”* - Random Guy at Meetup\n\n![Tiny Dancer](https://raw.githubusercontent.com/brianPlummer/TinyDancer/master/assets/tinydancer2.png \"Tiny Dancer\")\n\n## Min SDK\nTiny Dancer min sdk is API 16\n\n**Unfortunately this will not work on Android TV**\n\n## Getting started\n\nIn your `build.gradle`:\n\n```gradle\n dependencies {\n   debugCompile \"com.github.brianPlummer:tinydancer:0.1.2\"\n   releaseCompile \"com.github.brianPlummer:tinydancer-noop:0.1.2\"\n   testCompile \"com.github.brianPlummer:tinydancer-noop:0.1.2\"\n }\n```\n\nIn your `DebugApplication` class:\n\n```java\npublic class DebugApplication extends Application {\n\n  @Override public void onCreate() {\n\n   TinyDancer.create()\n             .show(context);\n             \n   //alternatively\n   TinyDancer.create()\n      .redFlagPercentage(.1f) // set red indicator for 10%....different from default\n      .startingXPosition(200)\n      .startingYPosition(600)\n      .show(context);\n\n   //you can add a callback to get frame times and the calculated\n   //number of dropped frames within that window\n   TinyDancer.create()\n       .addFrameDataCallback(new FrameDataCallback() {\n          @Override\n          public void doFrame(long previousFrameNS, long currentFrameNS, int droppedFrames) {\n             //collect your stats here\n          }\n        })\n        .show(context);\n  }\n}\n```\n\n**You're good to go!** Tiny Dancer will show a small draggable view overlay with FPS as well as a color indicator of when FPS drop.  You can double tap the overlay to explicitly hide it.\n\n\nSee sample application that simulates excessive bind time:\n\n![Tiny Dancer Sample](https://raw.githubusercontent.com/brianPlummer/TinyDancer/master/assets/tiny_dancer_011_example.gif \"Tiny Dancer Sample\")\n\nHave an project with performance issues? We'd be happy to help tune it.  mike@friendlyrobot.nyc\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriendlyrobotnyc%2Ftinydancer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffriendlyrobotnyc%2Ftinydancer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriendlyrobotnyc%2Ftinydancer/lists"}