Android app performance profiling

My Android app is suffering from lag and intermittent crashes reported by users. How can I profile the app to identify and fix performance bottlenecks? What tools and techniques do Android developers use for profiling? Any tips for smooth UI performance and preventing crashes would be great.