Aim: To know about GPU in Android 

Topic Covered:

  • What is GPU
  • Role of GPU
  • Rendering GPU  graph
  • Rendering Graph Explained 
  • Color Indications and its meaning

What is GPU:

GPU is graphical processing unit in the android operating system Since from the smartphone revolution with extensive use of the graphics in the normall phone led to evolution of the GPU
It is consider as the soul of the CPU.
GPU performs the various graphical and transformation calculation so the CPU does not have to burden by these operations.
GPU is mostly available in stand alone form with chip only where CPU has multiple cores.
Most popular brands manufacturing the Nvidea's Gforce and Adreno by qualcomm.

Rendering the GPU Profiling Graph :

  1. On your mobile device, go to Settings and Developer Options.
  2. In the Monitoring section, select Profile GPU Rendering.
  3. In the Profile GPU Rendering popup, choose On screen as bars to overlay the graphs on the screen of your mobile device.
  4. Go to the app that you want to profile.


Rendering Graph Explained :

  • After enabling the profile gpu rendering it will start to show the graph in the form of bars.
  • Bar graphs will be in the colored format of blue red green where as each color signifies the time taken to render the graphics
  • Vertical bar represents rendering of one frame against the time

Color Indications and its meaning :

  • Blue 
The blue section of the bar represents the time used to create and update the View's display lists. If this part of the bar is tall, there may be a lot of custom view drawing, or a lot of work in onDraw methods.

  • Purple
Android 4.0 and higher: The purple section of the bar represents the time spent transferring resources to the render thread.

  • Red
The red section of the bar represents the time spent by Android's 2D renderer issuing commands to OpenGL to draw and redraw display lists. The height of this bar is directly proportional to the sum of the time it takes each display list to execute—more display lists equals a taller red bar

  • Orange

The orange section of the bar represents the time the CPU is waiting for the GPU to finish its work. If this bar gets tall, it means the app is doing too much work on the GPU.

Aim :

This tutorial mainly aims to give the recommended way for doing the HTTP connection for new api changes after API 23.
As per the new changes Apache classes are removed from the API23 so this post gives one of the way by using HttpURLConnection class.

Topics Covered :

-How to make connection using URLCoonection classes
-Setting Properties
-Making request
-Getting the Response.
-Code Snippep

-How to make connection using URLCoonection classes:

Obtain the URL Connection by making URL.openconnection()

The stream can be called by URLConnection.getInputStream()

Use the Stream classes like inputStream or Buffer reader to read the stream

-Setting Properties
 Various Properties can be set in following way
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestProperty("USER-AGENT", "Mozilla/5.0");
connection.setRequestProperty("ACCEPT-LANGUAGE", "en-US,en;0.5");
-Making request

URL url;
    HttpURLConnection urlConnection = null;
    try {
        url = new URL("");

        urlConnection = (HttpURLConnection) url

        InputStream in = urlConnection.getInputStream();

        InputStreamReader isw = new InputStreamReader(in);

        int data =;
        while (data != -1) {
            char current = (char) data;
            data =;
    } catch (Exception e) {
    } finally {
        if (urlConnection != null) {


Aim: To know the use of selector and its implementation 

Topics Covered:
-What is Selector
-How to write
-Implementation of Selectors
-How to Apply to Button

What is selector :
Android allows different states of the button to be changed as per the users action to identify 
various action getting performed on the Button by modifying it visual appearance .The state are
pressed,selected and Normall the visual representation of these changes is manged through the Selectors  .
Selectors are basically xml part of the android project which are written in xml and placed in the drawable folder of the project.

How to write :
Selectors are written in xml and are placed in the draw-able directory of the project. 

Implementation of Selectors:



Here in this case


this line will pick the image with name numpad_button_bg_selected n when the state of the button is selected similarly it will work for rest of the states.

How to Apply to Button:

The Selector which you have written can be applied to button in following way

This is how you can implement the selector for the button in android it can be implemented in simillar way for image view and imagebutton as well.