Android Developers | Android.com

API Diff Specification
To Version: | 4
From Version: | 3
Generated | 2009.09.02 18:26

Top of Report

# API Change Statistics

The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

    Percentage difference = 100 * (added + removed + 2*changed)
                            -----------------------------------
                            sum of public elements in BOTH APIs

where `added` is the number of packages added, `removed` is the number of packages removed, and `changed` is the number of packages changed. This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. The definition ensures that if all packages are removed and all new packages are added, the change will be 100%. Values are rounded here, so a value of 0% indicates a percentage difference of less than 0.5%.

The overall difference between the two APIs is approximately 2%.

## Contents

Changed Packages
  Sorted by percentage difference
Changed Classes and Interfaces
  Sorted by percentage difference
Total of Differences
  Listed by number and type

## Changed Packages, Sorted by Percentage Difference

Percentage Difference | Package
--- | ---
36 | android.telephony.gsm
22 | android.telephony
16 | android.opengl
9 | android.content.pm
9 | android.view.animation
5 | android.graphics.drawable
4 | android.content
4 | android.net.wifi
2 | android.media
2 | android.util
2 | android.os
1 | android
1 | android.widget
1 | android.app
<1 | android.view
<1 | android.content.res
<1 | android.test
<1 | android.location
<1 | android.graphics
<1 | android.text.style
<1 | android.test.mock
<1 | android.provider
<1 | android.inputmethodservice
<1 | java.net
<1 | java.util
<1 | java.lang
<1 | android.hardware

## Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage Difference | Class or Interface
--- | ---
55 | android.telephony.gsm.SmsMessage
50 | android.media.ToneGenerator
50 | android.telephony.gsm.SmsManager
50 | android.telephony.gsm.SmsMessage.SubmitPdu
47 | android.graphics.drawable.NinePatchDrawable
42 | android.media.MediaRecorder.AudioSource
33 | android.util.Config
30 | android.os.Build.VERSION
25 | android.telephony.gsm.SmsMessage.MessageClass
23 | android.R.anim
23 | android.text.style.ImageSpan
22 | android.app.SearchManager
22 | android.widget.TabWidget
21 | android.util.DisplayMetrics
21 | android.graphics.BitmapFactory.Options
20 | android.graphics.drawable.BitmapDrawable
20 | android.test.AndroidTestCase
16 | android.widget.TabHost.TabSpec
15 | android.os.RemoteCallbackList
14 | android.content.pm.PackageManager
14 | android.graphics.Bitmap
12 | android.content.pm.ApplicationInfo
12 | android.content.pm.ConfigurationInfo
11 | android.app.LauncherActivity
10 | android.content.res.Configuration
10 | java.net.Socket
8 | android.provider.MediaStore.Audio.Genres.Members
7 | android.provider.Settings.Secure
7 | android.app.LauncherActivity.ListItem
7 | android.location.Address
6 | java.lang.String
6 | android.os.Build
6 | android.view.VelocityTracker
6 | java.util.Date
6 | android.widget.CheckedTextView
5 | android.graphics.Typeface
5 | android.provider.MediaStore.Audio.Media
4 | android.content.ContentProvider
4 | android.graphics.NinePatch
4 | android.graphics.drawable.AnimationDrawable
4 | android.Manifest.permission_group
4 | android.graphics.BitmapFactory
4 | android.Manifest.permission
4 | android.content.pm.ProviderInfo
3 | android.view.ViewConfiguration
3 | android.view.Window.Callback
3 | android.inputmethodservice.KeyboardView
3 | android.content.ComponentName
3 | android.widget.PopupWindow
2 | android.R.attr
2 | android.content.Intent
2 | android.widget.AutoCompleteTextView
2 | android.util.TypedValue
2 | android.app.PendingIntent
2 | android.view.Surface
2 | android.content.Context
1 | android.view.View
1 | android.media.MediaRecorder
1 | android.test.mock.MockPackageManager
1 | android.R.style
1 | android.widget.ListView
1 | android.media.AudioManager
1 | android.content.pm.ActivityInfo
1 | android.graphics.drawable.Drawable
1 | android.graphics.Canvas
1 | android.net.wifi.WifiManager
<1 | android.test.mock.MockContext
<1 | android.content.ContextWrapper
<1 | android.hardware.SensorManager
<1 | android.app.Dialog
<1 | android.R.drawable
<1 | android.provider.Settings.System
<1 | android.app.Activity

## Total of Differences, by Number and Type

The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were removed, added or changed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.

Number of Differences
| Removals | Additions | Changes | Total
--- | --- | --- | --- | ---
Packages | 0 | 4 | 27 | 31
Classes and Interfaces | 2 | 22 | 73 | 97
Constructors | 0 | 6 | 20 | 26
Methods | 3 | 80 | 43 | 126
Fields | 29 | 202 | 27 | 258
Total | 34 | 314 | 190 | 538