This document provides an overview of mobile performance testing. It discusses why mobile performance is important, different types of mobile apps, common performance challenges, tools for testing and profiling apps, and recommendations for optimizing performance. Key points include: mobile users expect fast experiences; slow apps can lose users; challenges include JavaScript execution time, caching, network usage; tools like Mobitest and Android Debug Bridge can monitor performance; recommendations are to minify code, optimize images, and implement efficient caching strategies.
2. What
to
expect?
• Why
mobile
performance
is
important?
• Different
types
of
mobile
apps.
• Performance
Challenges
• Tools
and
Technique
• Web
apps
Profiling
(Latency,page
audits)
• Na1ve
apps
Profiling
(Memory
leaks)
• Recommenda1ons
18. How
to
Monitor
• MobiTest
/
Web
page
test
• ADB
(
Android
debug
bridge)
• Remote
debugging
for
mobile
safari
• Yslow
• SpriteMe
• Icy
(iOS
specific)
21. Takeaways
for
Mobile
apps
• Minify
your
java
script
and
CSS
• All
images
have
dimensions
specified
• Have
an
efficient
caching
strategy
• Load
JavaScript
at
the
end
of
the
page
• Lazy
loading
• Different
sizes
of
image
for
Responsive
web
apps
• Don’t
download
extra
CSS
• Serve
low
resolu1on
images
on
smaller
screen
22. Mobile
Apps
• Mobile
Browser
apps
– mDOT-‐
dedicated
mobile
sites
– Responsive
web
design
• Na9ve
Apps
• Hybrid
Apps
23. Challenges
• Memory
leaks
• CPU
limit
• Network/Bandwidth
• Power
consump1ons
29. Takeaways
for
na1ve
apps
• Release
or
free
any
allocated
memory
as
soon
as
you
are
done
using
it.
• Avoid
compu1ng
anything
un1l
you
are
sure
you
actually
need
it.
• Avoid
spinlocks,
polling,
and
other
CPU-‐hogging
techniques.
• When
prac1cal,
perform
network
requests
in
batches
rather
than
one
at
a
1me.
• Consider
memory-‐mapping
large
files
instead
of
reading
them
into
RAM.
Doing
so
helps
the
system
manage
memory
more
efficiently.
30. Few
Pointers
for
iOS
App
submission
iOS
Guidelines:
• App
size
should
not
be
more
than
50
MB
for
non-‐gaming
app.
• Any
memory
leak
and
your
app
is
rejected
• Device
bagery
constraints
• Excessive
hea1ng