The advances in location-acquisition and smart phone technologies have led to a myriad of location-based social media. Therefore, analyzing the increasing amount of spatio-temporal data emerges as an important topic. Most studies on geographic data mining focus on exploring static mobility patterns. As the amount of incoming data streams increases, revealing the temporal aspect of user mobility patterns is worth investigating. This paper targets on mining user mobility patterns over time (referred to as mobility evolution) from streams of check-in records. Intuitively, at each time slot, a mobility pattern indicates spatial regions where users stay. Therefore, given a set of time slots, mobility evolution refers a sequence of spatial regions at each time slot. Note that nearby time slots may have similar spatial region distribution. Thus, given check-in datasets, we use the idea of data compression to obtain a sequence of representative segments, where each representative segment captures spatial region distribution at the corresponding time interval. To measure the quality of a segmentation result, we propose a representation cost function based on the Minimum Description Length (MDL) principle. In addition, because deriving the sequence of segments incurs expensive computational cost, we propose a family of greedy algorithms for segmentation to serve diverse requirements: efficient compression, informative compression, and cost-effective compression. Besides, to handle the massive amount of incoming check-in data, we also propose an incremental compression approach to incrementally update the mobility evolution. We conduct experiments on Foursquare datasets to demonstrate both the effectiveness and efficiency of our proposed algorithms.