Emerging mobile applications, such as cognitive assistance and augmented reality (AR) based gaming, are becoming increasingly computation-intensive and latency-sensitive, while running on resource-constrained devices. The standard approaches to resolve these challenges involve either offloading to a cloud(let) or local system optimizations to speed up the computation, often trading off computation quality for low latency. Instead, we observe that these applications often operate on similar input data from the camera feed and share common processing components, both within the same (type of) applications and across different ones. Therefore, deduplicating processing across applications could deliver the best of both worlds, achieving good performance within the resource constraints. In this paper, we present a system to achieve the above goal, consisting of a cache service that stores and shares processing results between applications and a set of algorithms to process the input data to maximize deduplication opportunities. This is implemented as a background service on Android. Extensive evaluation shows that our system can potentially reduce the processing latency for our workloads of AR and vision-based recognition applications by a factor of 2.5 to 10.