Regular crashes on iPhone 4S/iOS 6.1.1: due to old battery, or because of updated-for-iOS-7 apps? For the past 6 weeks, 2-3 times a week my two-year-old iPhone 4S (with no replacement parts) has crashed in the middle of use. I get a black screen with a spinner, and then it powers down. After switching back on manually it seems to be fine until the next crash.

I've deliberately not upgraded to iOS 7 (running 6.1.1 since Feb 2013) as I want to try to get another 6 months or so out of this device, and don't want to worry about possible slowness / battery problems with an older device (although I'm not after advice about whether those problems are likely), as I'm already getting pretty poor battery life.

A full restore via iTunes, home/lock button resets and all the usual voodoo haven't stopped the crashes. 

As I've not changed anything major (the OS or my usage habits) I'm wondering:


is battery age or the general age of the hardware (although I don't s'pose many other parts degrade over time) likely to be causing this?
could it be all the apps that've been upgraded for iOS 7 have introduced some instability on older versions of the OS?
or am I barking up the wrong tree altogether?


In case it helps, these are some examples of recent times when I've had crashes:


36% battery, device locked and playing audio via Instacast
22% battery, copy/pasting in Safari
40% battery, switching apps after copying from Instapaper (log below)


Update

Thanks Andrew Larsson for the helpful comment suggesting I post a crash log (duh!). The only one that's clearly from a time I know there to have been a crash is as follows (I don't know exactly what it means, but I think the filename is a pretty big clue!):

LowBatteryLog2013-12-10-213852.plist
Incident Identifier: D5FFF38F-7B82-4545-AA06-5A25F2411801
CrashReporter Key:   3c892d901eba49956f927e0ee3cbf520ebfad207
Date:                2013-12-10 21:38:52 +0000
OS Version:          iPhone OS 6.1.1 (10B145)

apsd: com.apple.apsd-connectionestablish-push.apple.com NoIdleSleepAssertion == 255, held for 00:00:09
backboardd: Instapaper[2989]-UIKitBackgroundCompletionTask [0x1ed4da60]/UIKitBackgroundCompletionTask [0x1ed52ae0]/UIKitBackgroundCompletionTask [0x1ed5a3c0]   NoIdleSleepAssertion == 255, held for 00:00:41
SpringBoard: com.apple.springboard.idle NoIdleSleepAssertion == 255, held for 00:13:59

Hardware Model: N94AP
Awake Time: 05:17:06 (19026)
Standby Time: 10:26:06 (37566)
Partial Charge: 1
Capacity: 0
Voltage: 3550 mV


Any other suggested crash logs to look for?
I've had additional crashes since posting my original question, and having looked at the logs I've concluded that my battery is simply on its last legs :-)

I found a number of other people online having similar problems who also concluded it was the battery, which led me to ask "What causes iPhone low battery crashes?" (aforementioned other people linked there). A helpful answer there explained that as a battery nears the end of its life, it can exhibit voltage drops (even before being empty) which result in this sort of behaviour. The logs indicate that this is what's happening.

Looking at low battery logs from previous crashes, I've noticed they've sometimes happened while I've been using stock iOS 6.1.1 apps, which rules out my idea that some updated-for-iOS-7 apps aren't fully backwards compatible and are causing this.