我有一个带有媒体播放器的流媒体音频(来自服务器)。当我关闭屏幕并且系统进入睡眠模式时它起作用,但几分钟后手机停止音乐。当手机连接到电源(USB 电缆)时,不会发生这种情况。因此,系统必须由于电源管理或内存管理而使应用程序崩溃。
\n\n服务等级:
\n\npublic class MyService extends Service {\n\n PowerManager powerManager;\n PowerManager.WakeLock wakeLock;\n WifiManager.WifiLock wifiLock;\n\n private MediaPlayer mediaPlayer;\n @Nullable\n @Override\n public IBinder onBind(Intent intent) {\n return null;\n }\n\n @Override\n public int onStartCommand(Intent intent, int flags, int startId) {\n\n powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);\n wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Lock");\n wifiLock = ((WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE)).createWifiLock(WifiManager.WIFI_MODE_FULL, "mylock");\n\n wakeLock.acquire();\n wifiLock.acquire();\n\n mediaPlayer = new MediaPlayer();\n mediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);\n\n mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);\n\n try {\n mediaPlayer.setDataSource("http://mediacontrol.jargon.com.ar:8168/;");\n } catch (IOException e) {\n e.printStackTrace();\n }\n\n\n mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {\n @Override\n public void onPrepared(MediaPlayer …
Run Code Online (Sandbox Code Playgroud) 如果我在表上定义 Clob 数据类型但未指定字节大小,那么大小是变量还是会与该数据类型的最大变量数一起保存?
CREATE TABLE "NOTIFICATIONS"
( "ID" NUMBER(19,0) NOT NULL ENABLE,
"RECIPIENTS" VARCHAR2(255 BYTE) DEFAULT 'both' NOT NULL ENABLE,
"AGE_FROM" NUMBER(10,0),
"AGE_TO" NUMBER(10,0),
"MESSAGE_TITLE" VARCHAR2(4000 BYTE) NOT NULL ENABLE,
"MESSAGE_BODY" CLOB,
"ATTACHMENT_TYPE" VARCHAR2(255 BYTE) DEFAULT 'none' NOT NULL ENABLE,
"NOTIFICATION_DATE_FROM" DATE NOT NULL ENABLE,
"NOTIFICATION_DATE_TO" DATE NOT NULL ENABLE,
"CREATED_AT" TIMESTAMP (6),
"UPDATED_AT" TIMESTAMP (6),
"DELETED_AT" TIMESTAMP (6),
) ;
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,MESSAGE_BODY 是 clob 类型,但没有可变大小。您可能会发现有时会存储 25,000 字节的字符串,有时会存储 4,000 字节,甚至可能会存储 100,000 字节。