API Change Statistics

The overall difference between API Levels u-beta1 and u-beta2 is approximately 0.8%.


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 2 27 0 29
Classes and Interfaces 22 80 2 104
Constructors 0 2 4 6
Methods 89 27 38 154
Fields 76 2 60 138
Total 189 138 104 431

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
23 android.credentials
21 android.net.http
20 android.health.connect.datatypes.units
10 android.app.appsearch
10 java.lang.invoke
8 android.view.autofill
3 android.service.credentials
2 android.bluetooth
2 java.lang.reflect
1 android.media.tv
<1 android.speech
<1 java.lang
<1 android.app.admin
<1 android
<1 android.media.tv.interactive
<1 android.health.connect.datatypes
<1 android.health.connect
<1 android.view.inputmethod
<1 android.content
<1 android.view
<1 android.app
<1 android.view.accessibility
<1 android.os
<1 android.hardware.camera2
<1 android.telephony
<1 android.content.pm
<1 android.widget

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
100 android.app.appsearch.AppSearchSchema.LongPropertyConfig
88 android.net.http.ConnectionMigrationOptions
75 android.net.http.DnsOptions.StaleDnsOptions
66 android.health.connect.datatypes.units.Energy
66 android.health.connect.datatypes.units.Mass
66 android.health.connect.datatypes.units.Volume
62 android.net.http.QuicOptions
58 android.credentials.CredentialManager
53 android.net.http.UrlRequest
53 android.net.http.DnsOptions
50 android.net.http.ConnectionMigrationOptions.Builder
48 android.net.http.BidirectionalStream
44 android.bluetooth.BluetoothSocket
36 android.net.http.UrlRequest.Builder
33 android.net.http.BidirectionalStream.Builder
31 android.net.http.DnsOptions.Builder
29 android.health.connect.datatypes.Metadata
26 android.app.appsearch.AppSearchSchema.StringPropertyConfig
25 android.media.tv.TableResponse
25 android.view.WindowManager
21 android.credentials.CredentialOption
19 android.app.appsearch.SearchSpec.Builder
17 android.net.http.BidirectionalStream.Callback
16 android.net.http.DnsOptions.StaleDnsOptions.Builder
15 android.net.http.UrlRequest.Callback
15 android.app.appsearch.SearchSpec
14 android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder
12 android.app.admin.PolicyUpdateResult
11 android.app.Notification.MediaStyle
11 android.app.appsearch.GetByDocumentIdRequest
11 android.speech.RecognitionService
11 android.view.inputmethod.InlineSuggestionsRequest.Builder
10 android.service.credentials.Action
10 android.service.credentials.CreateEntry
10 android.service.credentials.RemoteEntry
9 android.R.color
9 android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder
9 android.app.appsearch.GetByDocumentIdRequest.Builder
9 android.app.appsearch.SearchResult
9 android.app.appsearch.SearchResult.Builder
7 android.content.AttributionSource.Builder
7 android.app.BroadcastOptions
7 android.service.credentials.BeginGetCredentialOption
6 android.media.tv.TvInputManager
6 android.net.http.HttpEngine
6 android.service.credentials.CredentialProviderService
6 android.service.credentials.BeginCreateCredentialRequest
5 android.app.appsearch.SearchResult.MatchInfo
5 android.health.connect.datatypes.Metadata.Builder
5 android.net.http.UrlResponseInfo
5 android.service.credentials.CredentialEntry
5 android.health.connect.HealthConnectException
4 android.app.appsearch.AppSearchSession
4 android.content.AttributionSource
4 android.media.tv.TvInputService.Session
3 java.lang.Class
3 android.speech.SpeechRecognizer
2 android.view.autofill.AutofillManager
2 android.media.tv.TvView.TvInputCallback
1 android.media.tv.interactive.TvInteractiveAppService.Session
1 java.lang.invoke.MethodType
1 android.media.tv.TvView
1 android.content.IntentFilter
1 android.app.PendingIntent
1 android.content.RestrictionsManager
1 android.os.Process
1 android.media.tv.interactive.TvInteractiveAppView
<1 android.Manifest.permission
<1 android.app.AppOpsManager
<1 android.view.MotionEvent
<1 android.view.KeyEvent
<1 android.os.UserManager
<1 android.view.accessibility.AccessibilityNodeInfo
<1 android.telephony.CarrierConfigManager
<1 android.app.admin.DevicePolicyManager
<1 android.widget.TextView
<1 android.hardware.camera2.CameraMetadata
<1 android.app.Activity
<1 android.content.pm.PackageManager
<1 android.R.attr

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