Android线程保活为什么要用服务播放音乐不用子线程

android对socket的io操作也必须要在子线程中进行吗?
[问题点数:40分,结帖人braveboyny]
本版专家分:0
2014年5月 Linux/Unix社区大版内专家分月排行榜第一
结帖率 83.33%
CSDN今日推荐
本版专家分:24351
2014年1月 移动开发大版内专家分月排行榜第一
2015年9月 移动开发大版内专家分月排行榜第二2015年6月 移动开发大版内专家分月排行榜第二2014年12月 移动开发大版内专家分月排行榜第二2014年7月 移动开发大版内专家分月排行榜第二2013年12月 移动开发大版内专家分月排行榜第二2013年11月 移动开发大版内专家分月排行榜第二2013年10月 移动开发大版内专家分月排行榜第二
2014年11月 移动开发大版内专家分月排行榜第三2014年2月 移动开发大版内专家分月排行榜第三
本版专家分:386
本版专家分:0
2014年5月 Linux/Unix社区大版内专家分月排行榜第一
本版专家分:24351
2014年1月 移动开发大版内专家分月排行榜第一
2015年9月 移动开发大版内专家分月排行榜第二2015年6月 移动开发大版内专家分月排行榜第二2014年12月 移动开发大版内专家分月排行榜第二2014年7月 移动开发大版内专家分月排行榜第二2013年12月 移动开发大版内专家分月排行榜第二2013年11月 移动开发大版内专家分月排行榜第二2013年10月 移动开发大版内专家分月排行榜第二
2014年11月 移动开发大版内专家分月排行榜第三2014年2月 移动开发大版内专家分月排行榜第三
本版专家分:244
本版专家分:12998
2013年2月 总版技术专家分月排行榜第二2013年1月 总版技术专家分月排行榜第二
2013年3月 总版技术专家分月排行榜第三
2014年5月 移动开发大版内专家分月排行榜第一2014年4月 移动开发大版内专家分月排行榜第一
2013年2月 .NET技术大版内专家分月排行榜第二2013年1月 .NET技术大版内专家分月排行榜第二
本版专家分:0
2014年5月 Linux/Unix社区大版内专家分月排行榜第一
本版专家分:678
本版专家分:12998
2013年2月 总版技术专家分月排行榜第二2013年1月 总版技术专家分月排行榜第二
2013年3月 总版技术专家分月排行榜第三
2014年5月 移动开发大版内专家分月排行榜第一2014年4月 移动开发大版内专家分月排行榜第一
2013年2月 .NET技术大版内专家分月排行榜第二2013年1月 .NET技术大版内专家分月排行榜第二
匿名用户不能发表回复!
其他相关推荐博客分类:
最近在网上看到一些Android软件的欢迎界面做得都挺复杂的(个人觉得),因为一般都用到了线程,接着就想有没有简单一点的办法。然后就有了下文:
这个欢迎界面主要是借助Animation动画来实现的(效果如图),不需要用到线程。实现的方法很简单,为动画设置监听就可以了,在动画播放结束时结束欢迎界面并跳转到软件的主界面。
* 欢迎界面
* @author 小建枫叶
public class WelcomeActivity extends Activity implements AnimationListener {
private ImageView
imageView =
private Animation alphaAnimation =
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);
imageView = (ImageView)findViewById(R.id.welcome_image_view);
alphaAnimation = AnimationUtils.loadAnimation(this, R.anim.welcome_alpha);
alphaAnimation.setFillEnabled(true); //启动Fill保持
alphaAnimation.setFillAfter(true);
//设置动画的最后一帧是保持在View上面
imageView.setAnimation(alphaAnimation);
alphaAnimation.setAnimationListener(this);
//为动画设置监听
public void onAnimationStart(Animation animation) {
public void onAnimationEnd(Animation animation) {
//动画结束时结束欢迎界面并转到软件的主界面
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
this.finish();
public void onAnimationRepeat(Animation animation) {
public boolean onKeyDown(int keyCode, KeyEvent event) {
//在欢迎界面屏蔽BACK键
if(keyCode==KeyEvent.KEYCODE_BACK) {
动画welcome_alpha.xml
&?xml version="1.0" encoding="utf-8"?&
&set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"&
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="2000"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:startOffset="3000" //延迟3秒再开始
android:duration="3000"
布局welcome.xml
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_vertical|center_horizontal"&
&ImageView
android:id="@+id/welcome_image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/welcome"
&/LinearLayout&
下载次数: 725
浏览 10830
浏览: 28927 次
来自: 湛江
用handler会更简单
long[] array=new long[20]; //整 ...
这个可以吧,不是必须写成f(n-1)=f(n-2)+f(n-3 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'16:42 提问
Android 我已将将耗时操作放在线程里了为什么mainactivity还是会卡死
我先是执行了一个系统调用
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intent, 1);
用来选取文件,然后在读取文件是要占用较长的时间,
所以我在读取之前用一个fragment覆盖页面,在这个fragment上有一个进度条用来提示用户。
在这之后, 我用handler新起了一个线程来处理耗时的读取操作,
但是在执行时进度条会卡住,界面就好像卡死一样,还求各位大神指教
按时间排序
代码发上来才知道那里卡死,估计是你在线程里更新进度条了吧
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == FragmentActivity.RESULT_OK) {// 是否选择,没选择就不会继续
showLoading();//显示进度条
updateUiHandler.post(new Runnable() {//在这个线程中只是休眠了3秒
public void run() {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
hideLoading();//隐藏进度条
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐为什么不能在BroadcastReceiver中开启子线程
如果开发者需要在Service处理耗时任务,建议在Service中另外启动一条新线程来处理该耗时任务.就像前面BindService中看到的,
程序在BindService中的onCreate()方法中启动了一条新线程来处理耗时任务.可能有读者感到疑惑:直接在其他程序组件中启动子线
程来处理耗时任务不行吗?这种方式也不可靠,由于activity可能会被用户退出,Broadcast Receiver的生命周期本身就很短.可能
出现的情况是:在子线程还没有结束的情况下.Activity已经被用户退出了,或者BroadcastReceiver已经结束了.在Activity已经退
出、BroadcastReceiver已经结束的情况下,此时它们所在的进程就变成了空进程(没有任何活动组件的进程),系统需要内存时可能
会优先终止该进程.如果宿主进程被终止,那么该进程内的所有子线程也会被中止,这样就可能导致子线程无法执行完成.
总之来说:
广播接收者的生命周期是非常短暂的,在接收到广播的时候创建,onReceive()方法结束之后销毁
广播接收者中不要做一些耗时的工作,否则会弹出Application No Response错误对话框
最好也不要在广播接收者中创建子线程做耗时的工作,因为广播接收者被销毁后进程就成为了空进程,很容易被系统杀掉
耗时的较长的工作最好放在服务中完成
人气:2141
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.040 (s). 13 q(s)Android应用源码之简单音乐播放器,实现了播放器基本功能,使用service后台播放音乐,并使用异步线程加载音乐图片-免费论文
欢迎来到网学网学习,获得大量论文和程序!
Android应用源码之简单音乐播放器,实现了播放器基本功能,使用service后台播放音乐,并使用异步线程加载音乐图片
\请下载源代码,只上传Android应用源码之简单音乐播放器,实现了播放器基本功能,使用service后台播放音乐,并使用异步线程加载音乐图片源程序列表内容,如果需要此程序,请点击-下载,下载需要资料源代码。Android应用源码之简单音乐播放器,实现了播放器基本功能,使用service后台播放音乐,并使用异步线程加载音乐图片.rar\org.eclipse.core.resources.prefs\AndroidManifest.xml\classes\com\music\activity\AddSong2PlaylistActivity$1.class\classes\com\music\activity\AddSong2PlaylistActivity$2.class\classes\com\music\activity\AddSong2PlaylistActivity$3.class\classes\com\music\activity\AddSong2PlaylistActivity$4.class\classes\com\music\activity\AddSong2PlaylistActivity$5.class\classes\com\music\activity\AddSong2PlaylistActivity$6.class\classes\com\music\activity\AddSong2PlaylistActivity.class\classes\com\music\activity\MusicMainActivity$1.class\classes\com\music\activity\MusicMainActivity$2.class\classes\com\music\activity\MusicMainActivity$3.class\classes\com\music\activity\MusicMainActivity$4.class\classes\com\music\activity\MusicMainActivity$5.class\classes\com\music\activity\MusicMainActivity$6.class\classes\com\music\activity\MusicMainActivity$7.class\classes\com\music\activity\MusicMainActivity$8.class\classes\com\music\activity\MusicMainActivity.class\classes\com\music\activity\MusicPlayActivity$1.class\classes\com\music\activity\MusicPlayActivity$2.class\classes\com\music\activity\MusicPlayActivity$3.class\classes\com\music\activity\MusicPlayActivity$4.class\classes\com\music\activity\MusicPlayActivity$5.class\classes\com\music\activity\MusicPlayActivity.class\classes\com\music\activity\PlaylistSongActivity$1.class\classes\com\music\activity\PlaylistSongActivity$2.class\classes\com\music\activity\PlaylistSongActivity$3.class\classes\com\music\activity\PlaylistSongActivity$4$1.class\classes\com\music\activity\PlaylistSongActivity$4$2.class\classes\com\music\activity\PlaylistSongActivity$4.class\classes\com\music\activity\PlaylistSongActivity$5$1.class\classes\com\music\activity\PlaylistSongActivity$5$2.class\classes\com\music\activity\PlaylistSongActivity$5.class\classes\com\music\activity\PlaylistSongActivity$6.class\classes\com\music\activity\PlaylistSongActivity$7.class\classes\com\music\activity\PlaylistSongActivity$8.class\classes\com\music\activity\PlaylistSongActivity$9$1.class\classes\com\music\activity\PlaylistSongActivity$9$2.class\classes\com\music\activity\PlaylistSongActivity$9.class\classes\com\music\activity\PlaylistSongActivity.class\classes\com\music\adapter\ListViewAdapter$ViewHolder.class\classes\com\music\adapter\ListViewAdapter.class\classes\com\music\application\MyApplication$1.class\classes\com\music\application\MyApplication.class\classes\com\music\bean\Album.class\classes\com\music\bean\Mp3.class\classes\com\music\BuildConfig.class\classes\com\music\R$attr.class\classes\com\music\R$dimen.class\classes\com\music\R$drawable.class\classes\com\music\R$id.class\classes\com\music\R$layout.class\classes\com\music\R$menu.class\classes\com\music\R$string.class\classes\com\music\R$style.class\classes\com\music\R.class\classes\com\music\service\MusicPlayService$1.class\classes\com\music\service\MusicPlayService$LocalBinder.class\classes\com\music\service\MusicPlayService.class\classes\com\music\util\ImageLoader$BitmapDisplayer.class\classes\com\music\util\ImageLoader$PhotosLoader.class\classes\com\music\util\ImageLoader$PhotoToLoad.class\classes\com\music\util\ImageLoader.class\classes\com\music\util\MemoryCache.class\classes\com\music\util\MusicUtils.class\classes.dex\dexedLibs\android-support-v4-a2eb397eeb6ccd48a25c.jar\jarlist.cache\MusicPlayerDemo.apk\res\drawable-hdpi\audioplayernoartwork.png\res\drawable-hdpi\bat_up.png\res\drawable-hdpi\bg2.png\res\drawable-hdpi\button_back.png\res\drawable-hdpi\button_start.png\res\drawable-hdpi\delete_01.png\res\drawable-hdpi\ic_launcher.png\res\drawable-hdpi\music_add.png\res\drawable-hdpi\music_add_disable.png\res\drawable-hdpi\next_bt.png\res\drawable-hdpi\pause_bt.png\res\drawable-hdpi\play_bt.png\res\drawable-hdpi\previous_bt.png\res\drawable-mdpi\ic_launcher.png\res\drawable-xhdpi\ic_launcher.png\res\drawable-xxhdpi\ic_launcher.png\resources.ap_\com\music\BuildConfig.java\com\music\R.java\android-support-v4.jar\drawable-hdpi\audioplayernoartwork.png\drawable-hdpi\bat_up.png\drawable-hdpi\bg2.png\drawable-hdpi\button_back.png\drawable-hdpi\button_start.png\drawable-hdpi\delete_01.png\drawable-hdpi\ic_launcher.png\drawable-hdpi\music_add.png\drawable-hdpi\music_add_disable.png\drawable-hdpi\next_bt.png\drawable-hdpi\pause_bt.png\drawable-hdpi\play_bt.png\drawable-hdpi\previous_bt.png\drawable-mdpi\ic_launcher.png\drawable-xhdpi\ic_launcher.png\drawable-xxhdpi\ic_launcher.png\layout\addsong2playlist.xml\layout\item4music_main_activity.xml\layout\item4playlist_song_activity.xml\layout\musicitme.xml\layout\music_main_activity.xml\layout\music_play.xml\layout\playlist_songs.xml\layout\pl_songs_add.xml\menu\main.xml\values\dimens.xml\values\strings.xml\values\styles.xml\values-sw600dp\dimens.xml\values-sw720dp-land\dimens.xml\values-v11\styles.xml\values-v14\styles.xml\com\music\activity\AddSong2PlaylistActivity.java\com\music\activity\MusicMainActivity.java\com\music\activity\MusicPlayActivity.java\com\music\activity\PlaylistSongActivity.java\com\music\adapter\ListViewAdapter.java\com\music\application\MyApplication.java\com\music\bean\Album.java\com\music\bean\Mp3.java\com\music\service\MusicPlayService.java\com\music\util\ImageLoader.java\com\music\util\MemoryCache.java\com\music\util\MusicUtils.java\classes\com\music\activity\classes\com\music\adapter\classes\com\music\application\classes\com\music\bean\classes\com\music\service\classes\com\music\util\classes\com\music\com\music\activity\com\music\adapter\com\music\application\com\music\bean\com\music\service\com\music\util\classes\com\res\drawable-hdpi\res\drawable-mdpi\res\drawable-xhdpi\res\drawable-xxhdpi\com\music\com\music\classes\dexedLibs\res\com\drawable-hdpi\drawable-ldpi\drawable-mdpi\drawable-xhdpi\drawable-xxhdpi\layout\menu\values\values-sw600dp\values-sw720dp-land\values-v11\values-v14\com
【】【】【】【】【】
相关Android应用源码之简单音乐播放器,实现了播放器基本功能,使用service后台播放音乐,并使用异步线程加载音乐图片:
www.myeducs.cn All Rights Reserved 版权所有?网学网 提供大量原创论文 参考论文 论文资料 源代码 管理及投稿 E_mail:
郑重声明: 本网站论文均来自互联网,由本站会员上传或下载,仅供个人交流、学习、参考之用,版权归原作者所有
请下载完后24小时之内删除,任何人不得大幅抄录、在期刊上发表或作为商业之用。如涉及版权纠纷,本网站不承担任何法律及连带责任。

我要回帖

更多关于 Android进程与线程 的文章

 

随机推荐