API Change Statistics

The overall difference between API Levels v-dp2 and v-beta1 is approximately 1.07%.


Total of Differences, by Number and Type

The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. 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.

Type Additions Changes Removals Total
Packages 1 48 0 49
Classes and Interfaces 23 114 18 155
Constructors 3 5 5 13
Methods 74 32 67 173
Fields 38 5 72 115
Total 139 204 162 505

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
68 android.graphics.pdf.models.selection
46 android.graphics.pdf.content
30 android.graphics.pdf.models
12 android.adservices.customaudience
11 android.media.metrics
9 android.companion
6 android.adservices.adselection
6 android.nfc.cardemulation
5 android.window
5 android.graphics.pdf
4 android.accessibilityservice
4 android.icu.text
4 android.app.role
2 android.content.om
2 android.view.accessibility
2 android.app.appsearch
1 android.hardware.input
1 android.os
1 android.hardware
1 android.view.inputmethod
<1 android.graphics
<1 android.security.keystore
<1 android.appwidget
<1 android.app.job
<1 android.security
<1 android.view
<1 android.provider
<1 android.content
<1 android.media
<1 android.telephony
<1 android.graphics.text
<1 android.app.usage
<1 android.icu.number
<1 android.hardware.camera2
<1 android.icu.lang
<1 android.inputmethodservice
<1 android.app
<1 android.content.res
<1 android.content.pm
<1 android.icu.util
<1 android.health.connect
<1 android.view.textclassifier
<1 android.text
<1 android.telecom
<1 android.webkit
<1 android.app.admin
<1 android.widget
<1 android

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
100 android.graphics.RecordingCanvas
86 android.graphics.pdf.models.selection.PageSelection
68 android.telephony.CarrierConfigManager.ImsEmergency
55 android.graphics.pdf.content.PdfPageGotoLinkContent
55 android.graphics.pdf.content.PdfPageLinkContent
55 android.graphics.pdf.content.PdfPageTextContent
55 android.graphics.pdf.models.PageMatchBounds
50 android.view.SurfaceControl.TrustedPresentationThresholds
42 android.app.appsearch.RemoveByDocumentIdRequest
42 android.graphics.pdf.content.PdfPageImageContent
33 android.adservices.adselection.GetAdSelectionDataRequest
33 android.adservices.adselection.SetAppInstallAdvertisersRequest
33 android.app.appsearch.ReportUsageRequest
33 android.graphics.pdf.models.selection.SelectionBoundary
23 android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder
23 android.app.appsearch.GetByDocumentIdRequest
23 android.graphics.pdf.content.PdfPageGotoLinkContent.Destination
20 android.adservices.adselection.GetAdSelectionDataOutcome
20 android.app.appsearch.AppSearchSchema.DocumentPropertyConfig
20 android.graphics.pdf.RenderParams
20 android.media.metrics.EditingSession
18 android.nfc.cardemulation.CardEmulation
17 android.nfc.cardemulation.PollingFrame
14 android.adservices.adselection.GetAdSelectionDataRequest.Builder
14 android.adservices.adselection.PersistAdSelectionResultRequest
14 android.content.om.FabricatedOverlay
14 android.os.WorkDuration
14 android.security.NetworkSecurityPolicy
12 android.graphics.pdf.PdfRendererPreV.Page
12 android.view.accessibility.AccessibilityNodeInfo.CollectionInfo
11 android.graphics.pdf.models.FormWidgetInfo.Builder
11 android.view.WindowManager
10 android.graphics.pdf.PdfRendererPreV
10 android.graphics.pdf.PdfRenderer.Page
10 android.graphics.pdf.models.FormEditRecord.Builder
9 android.graphics.pdf.PdfRenderer
9 android.adservices.adselection.PersistAdSelectionResultRequest.Builder
9 android.adservices.customaudience.CustomAudienceManager
9 android.app.appsearch.AppSearchSchema
9 android.media.MediaRouter2
9 android.view.WindowInsets.Builder
7 android.adservices.adselection.SignedContextualAds.Builder
7 android.adservices.customaudience.CustomAudience
6 android.adservices.adselection.SignedContextualAds
6 android.app.Notification.Style
6 android.app.appsearch.AppSearchResult
6 android.hardware.camera2.CameraExtensionCharacteristics
6 android.view.SurfaceControlViewHost
6 android.view.WindowInsetsController
5 android.graphics.BitmapShader
5 android.icu.number.FormattedNumber
5 android.companion.CompanionDeviceManager
5 android.icu.lang.UCharacter.LineBreak
5 android.app.job.JobInfo.Builder
5 android.companion.CompanionDeviceService
5 android.graphics.text.LineBreaker
5 android.app.usage.UsageStatsManager
5 android.security.keystore.KeyProtection
5 android.view.inputmethod.InputMethodManager
4 android.hardware.input.InputManager
4 android.hardware.HardwareBuffer
4 android.adservices.customaudience.CustomAudience.Builder
4 android.graphics.pdf.models.FormWidgetInfo
4 android.view.WindowInsets
4 android.provider.MediaStore
4 android.graphics.pdf.models.FormEditRecord
4 android.app.role.RoleManager
4 android.appwidget.AppWidgetManager
3 android.app.LocaleConfig
3 android.content.ClipData.Item
3 android.content.pm.SharedLibraryInfo
3 android.icu.number.NumberFormatterSettings
3 android.icu.text.NumberFormat.Field
3 android.media.MediaRouter2.RoutingController
3 android.view.ViewStructure
3 android.security.keystore.KeyGenParameterSpec
2 android.view.SurfaceControl.Transaction
2 android.view.SurfaceView
2 android.accessibilityservice.AccessibilityService
2 android.graphics.Gainmap
2 android.security.keystore.KeyProtection.Builder
2 android.view.inputmethod.InputMethodInfo
2 android.icu.text.DateTimePatternGenerator
2 android.app.Notification.Builder
1 android.app.job.JobInfo
1 android.app.usage.UsageEvents.Event
1 android.view.inputmethod.EditorInfo
1 android.security.keystore.KeyGenParameterSpec.Builder
1 android.widget.RemoteViews
1 android.view.textclassifier.TextClassifier
1 android.text.Layout
1 android.icu.util.VersionInfo
1 android.inputmethodservice.InputMethodService
1 android.view.Display
<1 android.webkit.WebSettings
<1 android.content.res.Resources
<1 android.hardware.camera2.CameraCharacteristics
<1 android.telecom.Call.Details
<1 android.content.Context
<1 android.hardware.camera2.CaptureRequest
<1 android.health.connect.HealthPermissions
<1 android.view.accessibility.AccessibilityNodeInfo
<1 android.graphics.Paint
<1 android.icu.util.MeasureUnit
<1 android.icu.text.UnicodeSet
<1 android.view.View
<1 android.app.Activity
<1 android.app.admin.DevicePolicyManager
<1 android.telephony.SmsManager
<1 android.icu.util.Calendar
<1 android.media.MediaFormat
<1 android.content.Intent
<1 android.R.attr
<1 android.icu.lang.UCharacter.UnicodeBlock

* See Calculation of Change Percentages, below.


Calculation of Change Percentages

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%.