[null,null,["อัปเดตล่าสุด 2018-05-05 UTC"],[],[],null,["# BeautyPlus app increases readability by 15% with Android Architecture Components\n\nIntroduced in 2013,\n[BeautyPlus](https://play.google.com/store/apps/details?id=com.commsource.beautyplus)\nis one of the world's most popular photo-editing apps, used by makeup artists,\nphotographers, and ordinary mobile phone snappers. About 50 million people use\nthe app every month to edit and add filters to their selfies, pictures, and\nvideos. Developed by China's Xiamen Meitu Technology Co., Ltd., the app (which\nis particularly popular with the selfie set) is used for everything from\ncorrecting skin tone and brightening smiles to slimming features and airbrushing\naway blemishes, all with a few simple drags and clicks.\n\nGiven the company makes frequent updates to the app, it requires a large number\nof developers. But, over time, the underlying architecture grew to lack\nuniformity and clarity. The fast-moving team needed a way to keep their\ncollaborating developers in the loop while simplifying lifecycle management and\nresolving issues related to refreshing the asynchronous UI. \n**Figure 1:** A sample photo-editing session in BeautyPlus\n\nWhat they did\n-------------\n\n[Android Architecture Components](/topic/libraries/architecture) provided the\ntools that the developers needed to make the app's code concise, stable, and\neasier for new engineers to read as they onboard.\n\nAmong the components the BeautyPlus developers began using is\n[`ViewModel`](/topic/libraries/architecture/viewmodel), which enables easier\nlogic processing with activity and fragment updates. `ViewModel` is designed to\nstore and manage UI-related data in a lifecycle-conscious way that respects the\nlifecycle of other app components.\n\nThey also leveraged the [`LiveData`](/topic/libraries/architecture/livedata)\ncomponent, an observable data-holder class that's also lifecycle-aware to help\nensure that the UI matches the data state. The team found these Android\nArchitecture Components easy to use without encountering any problems---and the\nbenefits were quickly noticeable.\n\nResults\n-------\n\nThanks to Android Architecture Components, the BeautyPlus app immediately had 5%\nleaner code and was 15% more readable. The architecture was also more unified,\nsaving developers time and effort, and making it easier for new developers to\nget up to speed quickly. In addition, there were fewer memory leaks, refreshing\ndata became easier, and developers no longer had to worry about updating the\nasynchronous UI.\n\u003e \"When we used ViewModel and LiveData for BeautyPlus, the code became more\n\u003e concise and readable, and the architecture of the code was unified,\" says\n\u003e Zheng Songyin, senior development manager. \"The operation of the lifecycle of\n\u003e the app was managed safely, and the stability improved, too.\"\n\nGet started\n-----------\n\nAndroid Architecture Components is open to all developers. [Get\nstarted with Android Architecture Components](/topic/libraries/architecture)."]]