With the 4.8 release, I changed how 4chan API requests were made from the app. The old system was called Volley. I used it throughout the app for most of the network requests. Everything from API calls to basic image downloading was done through Volley (backed by OkHttp). The app now uses a couple of libraries that are more specific but better at their jobs. The first library I implemented is called Retrofit. It makes all of the API calls incredibly easy. The second library is called Glide. It handles the basic image downloading so I don’t have to do it manually through Volley anymore.
Retrofit has a couple of different ways to implement it. The first is through a basic set of callbacks. Those work fine, but I decided to go with RxJava instead. With it I can do processing in the background easily and bring the results back to the main thread to be displayed.
The switch to Retrofit with RxJava and Glide has increased performance significantly. I’m still finding little areas of improvement, but the loading time for network calls has decreased significantly.
The 4.8.3 release has a few extra additions:
- Direct share images!
- Adding boards is easier
- Starting a batch download is easier
- Really added flags for /int/ this time
- Fixed board not loading after adding it
- Pull to refresh fixed when inside of threads
- Fixed subjects not showing in threads
- Added long press menu to links in posts
- Bug fixes
- Permissions fixes
- Fixed issue with bookmarks not loading