我最近阅读了关于管理你的应用程序内存的这篇文章,我强烈建议你阅读它,如果你是一个AndroidDev,从来没有.
有许多好的做法,我从未碰巧知道的一件事是系统在每个Activity/Fragment上调用的onTrimMemory(int level)方法,以通知应该或可以释放哪些内存的事件.
以下是该文章的引用:
请注意,只有当应用程序进程的所有UI组件对用户隐藏时,您的应用才会收到带有TRIM_MEMORY_UI_HIDDEN的onTrimMemory()回调.这与onStop()回调不同,后者在Activity实例变为隐藏时调用,即使用户移动到应用中的其他活动也会发生.因此,虽然您应该实现onStop()来释放活动资源(如网络连接)或取消注册广播接收器,但在收到onTrimMemory(TRIM_MEMORY_UI_HIDDEN)之前,通常不应释放UI资源.这可确保如果用户从您应用中的其他活动导航回来,您的UI资源仍可用于快速恢复活动.
我真的很想在我的应用程序中实现良好的内存管理,所以我期待以正确的方式实现onTrimMemory().
我只有几个问题:
什么"释放您的UI资源"意味着在这种情况下?只是为了清理Bitmap缓存,或者实际删除并销毁View树中的每个View?我通常会破坏onDestroy()或onDestroyView()方法中的视图,我现在想知道我是否正确行事.
是否存在onTrimMemory(TRIM_MEMORY_UI_HIDDEN)的Twin/Correspondent回调?例如onCreate-onDestroy,onStart-onStop,onCreateView-onDestroyView.我要求了解在调用onTrimMemory(TRIM_MEMORY_UI_HIDDEN)之后将活动/片段放入前台后我应该在何处以及如何恢复UI状态.
android memory-management android-fragments android-activity
最新的Android支持库引入了DrawerLayout来实现常见的UX模式,您可以向右或向左滑动以显示导航菜单.
我喜欢的是具有相同API 的垂直DrawerLayout,可以从我的布局的顶部/底部向下/向上拉.
从4.2开始,旧的SlidingDrawer已被弃用,我还没有听说过一些实现相同功能的新Widget.
可以DrawerLayout
以某种方式扩展以实现垂直滑动UX模式吗?谷歌是否提供了一些不同的小部件来实现它?
例如,谷歌音乐有一些非常类似于我想要实现的方式来拉动播放器.
我刚刚注意到,自从API 17 SlidingDrawer以来,它已被弃用.
对它的评论说:
此类在API级别17中已弃用. 此类不再受支持.如果您必须在应用程序中使用它,建议您将自己的实现基于Android开源项目的源代码.
这是否意味着我应该将代码导入到我的项目中,以确保将来会支持它?
是否有一些开源项目将slidingDrawer扩展到那里?
两个活动都在同一个包中
第二个活动使用第二个布局文件
setContentView(R.layout.main2);
Run Code Online (Sandbox Code Playgroud)
Second_Activity中此行的错误.
EditText text1 = (EditText) findViewById(R.id.EditText03);
Run Code Online (Sandbox Code Playgroud)
这是Second_Activity的布局文件.
<?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" >
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Answer Is : " >
</TextView>
<EditText
android:id="@+id/EditText03"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</EditText>
</LinearLayout>
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Calling an intent" >
</Button>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
以下是LogCat窗口中的错误
08-01 19:32:20.340: WARN/ResourceType(8875): No package identifier when getting value for resource number 0x00000005
08-01 19:32:20.390: ERROR/AndroidRuntime(8875): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x5
Run Code Online (Sandbox Code Playgroud)
mail.xml
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content" …
Run Code Online (Sandbox Code Playgroud) 我一直在寻找过去2天的SW,谷歌等等.我正在寻找一种方法来实现原生Android ICS锁屏附带的活动,如下面的屏幕所示.这些屏幕来自Player Pro,但我注意到其他玩家(例如PlayerPro)具有看起来完全相同的相同功能,这就是为什么我认为它是原生的或者至少有一种常见的方式来实现它.
到目前为止,我只是设法得到和使用这些标志替换锁屏的Activity:
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
有关这些事件的BroadCaseReciever:
Intent.ACTION_SCREEN_ON
Intent.ACTION_SCREEN_OFF
Intent.ACTION_USER_PRESENT
我的问题是我想用锁屏来显示我的活动而不是替换它.你们知道怎么做到这一点吗?
是否有一个本机隐藏的API来做到这一点?
你能和我联系一些实现这个特殊功能的样本吗?
提前致谢 ;)
我终于在支持库 修订版11中查看新的嵌套片段API .
一切都很顺利,直到我尝试使用嵌套片段所持有的活动引用.配置更改后,childFragment似乎没有分离并重新附加到新活动.
基本上在方向更改后,我的childFragment处于一个不一致的状态,我无法使用getActivity()从中获取正确的活动实例.
我使用getParentFragment(). getActivity()来获取正确的一个并且它可以工作,但我不认为这是正确的方法.
这是我第一次在parentFragment中添加片段的代码,之后片段自动添加回parentFragment:
public void addChildFragment() {
Fragment f = getFragment().getChildFragmentManager().findFragmentByTag( FRAGMENT_CHILD_TAG );
if (f == null) {
FragmentTransaction ft = getFragment().getChildFragmentManager().beginTransaction();
f = new TrackBrowserFragment();
f.setArguments( getFragment().getArguments() );
ft.add( R.id.fragment_album_detail_child_fragment_layout, f , FRAGMENT_CHILD_TAG );
ft.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
活动实例中的这种不一致显然导致了我的片段的多个问题(与服务,广播接收器等绑定).我可能做错了,因为我不认为这是嵌套片段的正确行为.
所以:
我做错了代码吗?这是嵌套片段的预期行为吗?
我错过了什么吗?我应该自己拆卸/贴上它吗?
谢谢
android android-fragments android-fragmentactivity android-support-library
今天我在Nexus 7上设置了新的Android JB 4.3,我试着运行我的应用程序.
除了使用ScaleType.MATRIX的ImageViews之外,Everythings的工作方式应该是应该的.
基本上我在我的应用程序是一个ImageView的背景和相应的ViewPager回调我移动图像的更新聚焦部分矩阵我给使用ImageView的setImageMatix(矩阵矩阵).
问题似乎是我不能再更新矩阵了,我只需要实例化一个新的将它传递给ImageView.
我设法解决它每次实例化一个新的矩阵,但它似乎与旧版本相比内存昂贵.
这是一个BUG吗?有没有办法改造黑客帝国?(顺便说一下,我已经尝试使 ImageView ecc 无效.)
不工作
private void updateMatrix( final int page, final double offset ) {
double pagePosition = page + offset;
Matrix matrix = imageView.getImageMatrix();
matrix.setScale( scale, scale );
matrix.postTranslate( - (float) ( pagePosition * pageWidth ) , 0 );
imageView.setImageMatrix( matrix );
imageView.invalidate();
}
Run Code Online (Sandbox Code Playgroud)
工作
private void updateMatrix( final …
Run Code Online (Sandbox Code Playgroud) 我正在asp.net中做一个Web应用程序.在我的aspx页面中,我附加了一个代码片段.请检查一下.
<div id="lblName" class="name">
<label id="lbltextName">Name</label>
<div id="resizeName">
<div class="ui-resizable-handle ui-resizable-nw"></div>
<div class="ui-resizable-handle ui-resizable-ne"></div>
<div class="ui-resizable-handle ui-resizable-sw"></div>
<div class="ui-resizable-handle ui-resizable-se"></div>
<div class="ui-resizable-handle ui-resizable-n"></div>
<div class="ui-resizable-handle ui-resizable-s"></div>
<div class="ui-resizable-handle ui-resizable-e"></div>
<div class="ui-resizable-handle ui-resizable-w"></div>
</div>
</div>
<div id="lblTitle" class="title">
<label id="lbltextTitle">Title</label>
<div id="resizeTitle">
<div class="ui-resizable-handle ui-resizable-nw"></div>
<div class="ui-resizable-handle ui-resizable-ne"></div>
<div class="ui-resizable-handle ui-resizable-sw"></div>
<div class="ui-resizable-handle ui-resizable-se"></div>
<div class="ui-resizable-handle ui-resizable-n"></div>
<div class="ui-resizable-handle ui-resizable-s"></div>
<div class="ui-resizable-handle ui-resizable-e"></div>
<div class="ui-resizable-handle ui-resizable-w"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想一目了然地删除特定父div的所有内部div,或者使用所有子div的类名.
我怎样才能做到这一点?请帮我.