kirancodes.me
To Proof Maintenance & Beyond!

Refactorings for Android Asynchronous Programming

Yu Lin, Danny Dig

Abstract

Running compute-intensive or blocking I/O operationsin the UI event thread of smartphone apps can severelydegrade responsiveness. Despite the fact that Android provides several async constructs that developers can use, developers can still miss opportunities to encapsulate long-running operations in async constructs. On the other hand, they can use the inappropriate async constructs, which result in memory leaks, lost results, and wasted energy. Fortunately, refactoring tools can eliminate these problems by retrofitting asynchrony to sequential code and transforming async code to use the appropriate constructs. This demo presents two refactoring tools for Android apps: (i) ASYNCHRONIZER, a refactoring tool that enables developers to extract long-running operations into Android AsyncTask. (ii) ASYNCDROID, a refactoring tool which enables developers to transform existing improperly-used AsyncTask into Android IntentService.

BibTeX
@inproceedings{Lin-Dig:ASE15,
  author    = {Yu Lin and
               Danny Dig},
  title     = {Refactorings for Android Asynchronous Programming},
  booktitle = {ASE},
  pages     = {836--841},
  publisher = {{IEEE} Computer Society},
  year      = {2015},
}

Related papers