Android Application Development generally separates the UI and data into the application side (focusing on the performance of the entire application) and the UI side (mainly interface display) data logic side (mainly the API encapsulation for interaction with the background). If it is a video application, the android player has obvious disadvantages and requires a combination of soft and hard solutions.
Application side
1. video content supplement
2. Optimize the overall performance (traceview, findbugs, etc.) based on performance testing tools provided by Android and Java)
Ui side
1. Optimize the interface Layout Based on layoutopt
2.The interface must be aligned with the iOS platformAndroiddesign guidelineSpecifications
Data logic side
Statistics and SDK Encapsulation
Playing Technology side
1. Main improvement methods for improving live streaming Performance
1) multi-thread Soft Solution
2) Improved screen display speed
2. added the buffer percentage prompt, Implementation Method
1) find a suitable buffer size for the specific live video bit rate
2) the specified cache size is divided into 100 equal parts for feedback to the interface
3. Hardware decoding is implemented based on openmax open standards to reduce the power consumption of mobile phones and subsequent HD playback.
1) FFMPEG only parses media file containers (container), such as MP4, FLV, and Avi, and submits the audio and video data separated to openmax API for decoding (replacing the soft solution function implemented by FFMPEG)
2) FFMPEG Audio/Video Synchronization needs to be improved. Due to the limited decoding capability of mobile phones, frame dropping is required.
4. Playback splicing optimizes the playback experience, mainly to solve the PTS/DTS synchronization in frame data between segments.