and closing resources remains valid and important, just as on any other
Java ME platform.
3.4.3 Constraints on Threads
There is no fixed limit to the number of threads you can create or run. As
always, you need to be considerate of resource utilization, but another
Java thread is unlikely to make a significant difference. On some low-end
platforms, you might have a small pool of Java threads that you would
use repeatedly for different tasks. On Symbian OS, your code can have
Java threads according to its needs, without the burden of thread pool
Of course, this does not mean that you should not consider cooperative
multithreading in your application. But if a thread is what you need for the
proper design or task execution in your application, then you should use it.
3.4.4 Constraints on Number of Connections
Sockets and other connections are also a scarce resource on low-end
platforms. For that reason, some devices impose a predefined limit on the
number of connections that an application can open. For example, a Java
application on such a platform may only be able to open two connections
at a time, which might not be enough for some applications. Again, Java
ME on Symbian OS lets you open as many connections as you need for
This does not mean you should not dispose of connections that are
no longer needed. For example, once an application completes a web
services transaction and the connection is no longer needed, you need to
dispose of the connection in order to release all acquired resources.
3.5 Java ME: Exposing the Power of Symbian OS
Because Symbian OS is such a powerful host, it has some capabilities
that are not common on the majority of feature-phone Java ME platforms.
Symbian OS is a powerful native platform and Java ME exposes that
power through standard Java ME APIs. The platform has to support both
the more advanced JSRs and their optional features. Symbian OS v9 and
later versions support many JSRs. When looking for an advanced and
powerful JSR (for example, JSR-184 3D graphics or JSR-226 SVG), you
can assume that it is supported.
For example, javax.microedition.io.SocketConnection is
optional in MIDP 2.0 but has been supported in Symbian OS for a
long time, even in older smartphones. javax.microedition.io.