A typical Symbian application implementation pattern is based on a client-server model. The client requests a service, and the server does the actual work. As a result, the server parts of the application cause most of the CPU load.
The Symbian OS provides several system servers, such as file, font bitmap and database servers, which might be used by several applications concurrently. There might also be other application framework specific servers. In order to analyze the application characteristics properly, find out which servers the application uses. In addition, recognize how extensively the application under analysis really uses the servers, especially system ones.
If the thread overview shows that server threads cause high CPU load, the problem is not necessarily in the server implementation. If a more detailed analysis of the server implementation does not reveal any major improvement items, more focus has to be put on overall application characteristics. Things to consider include the following:
In general, the goal should be to minimize unnecessary calls to servers. Multiple application requests should be grouped in a single server request whenever possible.