And when you close and open the app nothing is loading into the offline_records collection, yes?
Your method seems like it should be working. Is there a reason you are using the false variable in your LoadData function? This will give errors if you don't have anything in the "offline_records_local_storage" cache (like when a new user opens the app for the first time). Setting this to true will ignore if there is no such cache.
This may not be the issue, but I noticed in your Collect example you had offline records (no underscore) and in the SaveData you have offline_records (with an underscore). You might double check to make sure those names match. If you go to View -> Collections you can view the first 5 items of your collection as well as see what collections you have.
A good test could be to mimic being offline, maybe by just by having a temporary button that does the Collect/SaveData part of your code. Then check the View -> Collections area to make sure the record was collected properly. Then, with another temporary button, mimic closing and loading your data by using the Clear function on your collection and then LoadData to get it back. Checking View -> Collections after this should tell you if it is working.
So in code form:
// Offline mimic button, in the OnSelect property
Collect(offline_records, {...});
SaveData(offline_records, "offline_records_local_storage")
// OnStart mimic button, again in the OnSelect property
// Note: here the false in the LoadData will help to see if something is going wrong somewhere
Clear(offline_records);
LoadData(offline_records, "offline_records_local_storage", false)Also, it should be noted that the SaveData and LoadData functions don't work in a web browser or in the web studio, so you will need to test this on a device running the PowerApps app (Win10, iOS, Android).
Maybe try this and let me know what result you get? Like I said, your method seems solid so there is probably some small issue like a name being off or something like that.