Found some new stuff:
- Use a normal ArrayList. For iterating, create one copy, and iterate over that. Any adds/removals should be done to the original list
- You are loading textures EVERY FRAME! I’m not entirely sure how SlickUtil works, but maybe you should save the textures somewhere.
To lauch jvisualvm (Windows) Alt-R, type in jvisualvm, press enter.
Find you application, double click, look at the graphs etc. do some sampling/profiling. Find wheter it’s CPU or RAM usage that’s causing the problem.