I am working on an Android app that already exists on iPhone.
In the app, there is a Map activity that has (I counted) around 800 markers in four groups marked by dr
There are two ways you can do this route simplification.
1) If you got the heading of all the points. You can keep a heading tolerance , say if the heading diffference between point A and B is 0.5 Just draw a line from A to B and ignore the points between.
2) If you dont have a heading. Make a triangle as shown in the fig. If h lies in between your limits, skip the points in between and draw a line from A to B

You can also use some other route simplification algorithms.
See also :
Route simplification - Douglas Puecker Algorithm